Foundation补充
1常用结构体:
NSRange、NSPoint(CGPoint)、NSSize(CGSize)、NSRect(CGRect)
2 NSRange: 字符串中有一个方法rangeOfString:str可以获取str在字符串中的位置,如果找不到length为0,location为NSNotFount(%d -1)
3 CGPointMake 和NSMakePoint是等价的
4 结构体转为字符串,NSStringFromPoint()
5 CGPointZero相当于0,0
6 CGPointEqualToPoint(point1,point2) 比较两个点是否相同
7 CGRectContainsPoint判断一个点是否在rect范围内
8 常用类:
NSString NSArray NSSet NSDictionary NSDate…
9 appendString可变字符串拼接
deleteCharactersInRange 可变字符串删除,该方法通常与rangeOfString一起使用
characterAtIndex:NSUInteger 根据下标拿出字符
componentseparatedByString:NSString 字符串分隔
10 stringByAppendingString不可变字符串拼接新的字符串
11 访问数组中元素的方式array[index]
12 OC数组快速创建NSArray:@[]
13 indexOfObject:id 找出id在数组中的位置
14 数组遍历使用block:
,每遍历到一个元素,就会调用block,并且当前元素和索引位置当作参数传给block
enumerateObjectsUsingBlock:
[array enumerateObjectsUsingBlock:
^(id obj, NSUInteger idx, BOOL *stop)
{
NSLog(@”%@--%d”,obj,idx);
If(idx == 0)
{
*stop = YES; // 停止遍历
}
}
];
15 NSFileManager是单粒类,只会创建出一个对象。
16 pathExtension 获取字符串的扩展名
17 字符串变小写 lowercaseString
18 NSSet 中anyObject表示随机一个对象
19 dictionary[@"xx"];快速访问字典元素 count,返回键值对个数
20 中文在计算机中占3个字节
21 字典是无序的,也就是通过allKeys返回的key数组是无序的
22 字典不允许有相同的key,
23 遍历字典快速方法enumerateKeysAndObjectsUsingBlock
24 数组persons[1][@"qq"],表示取出下标1对应的字典,在取出字典中key对应的数据
25 @20 表示将20包装成NSNumber 对象,是编译器特性
@'a',字符转 NSNumber对象 @"a" ,字符串
26 int age = 12; @(age) 把变量age包装成NSNumber对象
27 NSNumber之所以能包装基本数据类型,是因为继承了NSValue
28 将结构体包装成NSValue对象,valueWithPoint…
解包:pointValue
29 NSDateFormatter日期格式对象,dateFormat格式日期,stringFromDate:将日期转为字符串,dateFromString:将字符串转为日期
PS:摘自李明杰的视频教程,在此感谢李老师非常详细的讲解!