知识点清单(②)
这部分内容较为细碎,希望作为查找手册使用。另,写此篇博客时发现,查头文件是学习框架的一个很棒的方法。掌握头文件的书写规律,可以很轻松的找到需要的知识。
NSArray & NSMutableArray
- - (instancetype)initWithObjects:(const id [])objects count:(NSUInteger)cnt 构造方法初始化
- + (instancetype)arrayWithObjects:(id)firstObj, …,nil; 添加多个数组元素
- @[(id)firstObj, …] 利用编译器特性快速添加多个数组元素
- @property (readonly) NSUInteger count 定义实例变量count用来计算元素个数
- - (id)objectAtIndex:(NSUInteger)index; 通过索引号访问数组对象
- array[(NSUInteger)index] 利用编译器特性快速添加多个数组元素
- for(id obj in array){代码块} 遍历数组元素
- - (void)enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){代码块执行体}; block方法遍历数组元素(注:停止遍历方法:if(条件){*stop = YES;})
NSMutableArray专属
- - (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2 交换数组元素位置
- - (void)addObject:(id)anObject; 添加数组元素
- - (void)insertObject:(id)anObject atIndex:(NSUInteger)index; 在指定位置添加数组元素
- - (void)removeLastObject; 删除最后一个数组元素
- - (void)removeObjectAtIndex:(NSUInteger)index; 按索引号删除数组元素
- - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; 替换指定数组元素
- 注: @[@[(id)firstObj, …] 只能创建不可变数组
NSSet & NSMutableSet
- - (id)anyObject; 取出一个对象(set为无序数组,不能按位置取)
- - (BOOL)containsObject:(id)anObject; (判断某对象是否在set中)
- 其余方法参照NSArray
NSDictionary & NSMutableDictionary
- - (id)objectForKey:(id)aKey; 按key取对象
- + (instancetype)dictionaryWithObject:(id)object forKey:(id )key; 添加Object和对应的Key
- + (instancetype)dictionaryWithObjects:(NSArray )objects forKeys:(NSArray )keys; 以数组的形式批量添加Objects和Keys
- @{key1:value1,key2:value2}; 利用编译器特性快速创建dictionary
- dict[key] 通过便以其特性快速访问键对应的值
MutableDictionary专属
- - (void)removeObjectForKey:(id)aKey; 通过Key移除Object
- - (void)setObject:(id)anObject forKey:(id < NSCopying >)aKey; 添加键值对
NSDate
- + (instancetype)date; 创建当前date
- 显示Date:通过NSDateFormatter,将date转为字符串显示
- 输入特定Date:借助NSDateFormatter,将字符串转为
NSDateFormatter
- - (NSString )stringFromDate:(NSDate )date; NSDate转字符串
- - (NSDate )dateFromString:(NSString )string; NSString转NSDate
NSNumber
- -intValue; NSNumber转int 本质是get方法,intValue为NSNubmer的实力变量
- + (NSNumber *)numberWithInt:(int)value; int转NSNumber
- @10 利用编译器方法,将基本数据类型快速包装成NSNumber对象
NSValue
- + (NSValue )valueWithPointer:(const void )pointer; NSPoint结构体转对象
- - (void *)pointerValue; 对象转结构体