Foundation Kit用作Mac开发,User Interface Kit用作iOS开发。
第八章主要讲解NSString NSArray NSEnumerator NSNumber
目录
NSRange
NSRange 有(unsigned int)location和(unsigned int)length两个属性。
创建新NSRange的三种方式:
- range.location = 1; range.length = 1;
- range = NSMakeRange(1,2);
- [anObject flarbulateWithRange:NSMakeRange (13, 15)];
CGPoint CGSize CGRect
CGPoint CGSize CGRect对应快捷函数CGPointMake CGSizeMake CGRectMake
NSString
- NSString的初始化
NSString *string = [NSString stringWithFormat:@"i am %d long”,5];
stringWithFormat是类方法
- [string length]返回长度
- 字符串比较
- [string1 isEqualToString: string2]返回BOOL
- [string1 compare: string2]返回NSComparisonResult(区分大小写)
- [str1 compare: string2 options:NSCaseInsensitiveSearch | NSNumbericsSearch] (忽略大小写并按字符个数排序)
- 是否以这个字符串开头[fileName hasPrefix: @“draft”]
是否以这个字符串结尾[fileName hasSuffix: @“.jpg”]
-
- 字符串内某处是否包含其他字符串NSRange range = [fileName rangeOfString: @“chapter”]
NSMutableString
- 初始化字符串
NSMutableString *mString = [NSMutableString stringWithCapacity:50]
- 改变字符串
[string appendString: @“hello”]
[string appendFormat: @“human %d”,50]
- 删除字符串中某个字符
NSRange jackRange = [friends rangeOfString: @“Jack”]
[friends deleteCharactersInRange: jackRange]
NSArray
- 初始化
NSArray *array = [NSArray arrayWithObjects: @“one”, nil]
NSArray *array = @[@“one”,@“two”]
- 访问数据
[array objectAtIndex: I]
NSMutableArray
- 初始化
NSMutableArray *array = [NSMutableArray arrayWithCapacity: 13]
- 添加
[array addObject tire]
- 删除
[array removeObjectAtIndex: 1]
枚举NSEnumerator
- 初始化
NSEnumerator *enumerator = [array objectEnumerator];
- 用作循环输出
while(id thing = [enumerator nextObject]){
NSLog(@“%@“,thing);
}
快速枚举
for(NSString *string in array){
NSLog(@“%@“,string);
}
这里还提到了代码块,不过看不懂
遍历有四种方法:枚举 快速枚举 代码块 索引
索引也不明白怎么写
建议使用快速枚举和代码块
NSDictionary字典
- 初始化
NSDictionary *tires = [NSDictionary dictionaryWithObjectsAndKeys: tire1,
@“front-left”,t2,@“front-right”,t3,@“back-left”,t4,@“back-right”,nil];
或者
NSDictionary *tires = @{@“front-left”,t1,@“front-right”,t2]};
注意这个是大括号。
NSNumber
- 初始化
NSNumber *number;
number = @‘x’;字符型
Number = @12345; 整型等 看书124面
NSValue
用NSValue将结构体放入NSArray和NSDictionary中
NSRect rect = NSMakeRect(1,2,30,40);
NSValue *value = [NSValue valueWithBytes:&rect objCType:@encode(NSRect)];
[array addObject:value];