Objective C是iOS和Mac OS X等苹果操作系统的基础编程语言,它是C语言的一个超集,增加了面向对象的特性和动态运行时的机制。Objective C的语法主要受Smalltalk语言的影响,以及C++和Java等语言的特点。在这篇文章中,我们将学习一些Object-C基础,包括:数据类型、控制结构、Objective C对象、方法等。
数据类型
Objective C有如下几种数据类型:
1. 整型:int(有符号)、unsigned(无符号)
2. 字符型:char
3. 实数型:float、double
4. 布尔型:BOOL(YES表示真,NO表示假)
5. 指针类型:id(万能指针)、Class(表示类的指针)、SEL(选择器类型)
6. 结构体类型:NSRect、NSPoint等
控制结构
Objective C支持的控制结构如下:
1. if-else条件语句:
```
if(条件){
// 条件满足执行的代码
}
else{
// 条件不满足执行的代码
}
```
2. switch-case语句:
```
switch(变量){
case 标志1:
// 执行代码1
break;
case 标志2:
// 执行代码2
break;
default:
// 执行代码3
}
```
3. for循环语句:
```
for(int i=0; i<10; i++){
// 执行代码
}
```
4. while循环语句:
```
while(条件){
// 执行代码
}
```
Objective C对象
Objective C是一种面向对象的编程语言,它的数据类型都是对象类型。下面是Objective C对象的一些基本概念:
1. 对象的定义:
Objective C中定义一个对象的语法是:`类名 *对象名;`。比如,定义一个NSString对象的例子如下:
```
NSString *str;
```
这里`NSString`是类名,`*str`是一个指向`NSString`对象的指针。
2. 对象的初始化:
Objective C对象在定义后,需要通过`alloc`和`init`方法来初始化。如果对象没有被初始化,那么它的所有方法都会返回一个空值。下面是一个NSString对象的初始化例子:
```
NSString *str = [[NSString alloc] initWithString:@"hello world"];
```
这里`initWithString`是NSString类的一个初始化方法,它需要传入一个字符串作为参数。
3. 对象的使用:
定义和初始化后的对象,可以调用它的实例方法和属性。比如,获取一个NSString对象的长度和内容可以用如下方法:
```
NSString *str = [[NSString alloc] initWithString:@"hello world"];
NSLog(@"字符串长度:%lu,内容:%@", [str length], str);
```
这里`length`是NSString类的一个实例方法,用于返回字符串的长度。
方法
Objective C可以定义类方法和实例方法,方法是类和对象之间交互的基本单元。下面是Objective C方法的一些基本概念:
1. 类方法:
Objective C中定义一个类方法的语法是:`+ (返回类型)方法名:(参数类型1)参数1 方法名:(参数类型2)参数2;`。比如,定义一个NSString类的类方法,用于返回两个字符串的拼接结果:
```
+ (NSString *)stringByAppendingString:(NSString *)str1 withString:(NSString *)str2{
return [str1 stringByAppendingString:str2];
}
```
这里`stringByAppendingString:withString:`是一个静态方法,用于返回两个字符串的拼接结果。
2. 实例方法:
Objective C中定义一个实例方法的语法是:`- (返回类型)方法名:(参数类型1)参数1 方法名:(参数类型2)参数2;`。比如,定义一个NSString对象的实例方法,用于返回字符串的长度:
```
- (NSUInteger)length{
return [self length];
}
```
这里`length`是NSString类的一个实例方法,用于返回字符串的长度。
总结
本文介绍了Objective C的一些基本概念,包括:数据类型、控制结构、Objective C对象和方法。对于新手来说,学好这些基础是非常重要的,可以为进一步学习iOS开发打下坚实的基础。
如果你喜欢我们的文章,欢迎您分享或收藏为众码农的文章! 我们网站的目标是帮助每一个对编程和网站建设以及各类acg,galgame,SLG游戏感兴趣的人,无论他们的水平和经验如何。我们相信,只要有热情和毅力,任何人都可以成为一个优秀的程序员。欢迎你加入我们,开始你的美妙旅程!www.weizhongchou.cn
发表评论 取消回复