遍历数组
- for循环:
for (int i = 0; i <[items count]; i ++) {
NSString *item = [item objectAtIndex:i];
NSLog(@"%@", item);
}
- 快速枚举(fast enumeration)
相比传统的for循环简洁很多,出错概率低,经过编译器得意优化,通常比for循环更快。
for (NSString *item in items) {
NSLog(@"%@", item);
}
快速枚举的限制:如在循环体中增加或删除对象,则不能使用快速枚举,这时只能用for循环。
格式字符串
NSLog函数负责将指定字符串输出到Xcode控制台。NSLog的实参个数并不确定,但第一个实参是必须的,为NSString对象,这个实参成为格式字符串。
格式字符串可以包含多个文字和转换说明(token)。转换说明必须以百分号(%)为前缀。
int a = 1;
float b = 2.5;
char c = 'A';
NSLog(@"Integer: %d Float: %f Char: %c", a, b, c);
转换说明 | 相应实参类型 |
---|---|
%@ | OC对象,调用description方法 |
%d, %D, %i | 整数 |
%u , %U | 无符整形 |
%f | 浮点/双字 |
%x, %X | 二进制整数 |
%o | 八进制整数 |
%zu | size_t |
%p | 指针 |
%e | 浮点/双字 (科学计算) |
%g | 浮点/双字 |
%s | C 字符串 |
%.*s | Pascal字符串 |
%c | 字符 |
%C | unichar |
.h & .m
- .h文件是头文件(header file),也称接口文件(interface file),负责声明类的类名,类的父类,每个类的对象都会拥有的实例变量以及该类实现的全部方法。
- .m文件是实现文件(implementation),包含类所实现的方法的全部代码。
OC中声明类,使用@interface指令+类名+冒号+父类类名,OC只允许单继承,so每个类都只能有一个父类:
@interface ClassName : SuperclassName
完整.h格式:
#import <Foundation/Foundation.h>
@interface ClassName : SupercalssName
@end
@关键字为与OC特有的关键字,与C关键字区分。
实例变量
- 定义在类中,但在任何方法之外。
- 属性使用实例变量来表示的。
- OC中的实例变量变量名中通常会加上一个下划线,like:
_name
,_date
….. - 实例变量的存取方法,命名规定:
- set方法为 set+属性名称 ,like:
setName
; - get方法为返回的属性名来命名,不加get,like:
name
。
- set方法为 set+属性名称 ,like:
[To Be Continued…]