Foundation学习
1.NSString
字符串,开发几乎每天都用,先简单了解它的基本用法,初始化可以使用对象方法,类方法或者直接初始化(NSString *string = @"纳兰";)字符串用法千奇百怪,变化多端,用到时可以参考大神简书:https://www.jianshu.com/p/d3f343b71cc2
- (NSString *)substringFromIndex:(NSUInteger)from;//截取指定位置之后的字符串
- (NSString *)substringToIndex:(NSUInteger)to; //从0下标开始截取到指定位置的字符串
- (NSString *)substringWithRange:(NSRange)range; //截取指定范围的字符串
- (void)getCharacters:(unichar *)buffer range:(NSRange)range; //截取字符串指定范围的字符
- (NSString*)stringByAppendingString:(NSString*)aString ; //字符串拼接
可变字符串是不可变字符串的子类,可实现对应的拼接,插入,删除,替换等操作。
2.NSArray
数组、字典、字符串在开发中三分天下,接下来简单介绍一下数组的基本使用,数组就是一个容器,将一些对象按顺序存储,常用的有获取元素的个数,获取第一个元素,获取最后一个元素,可变数组是不可变数组的子类,可实现对应的插入、删除、添加、替换等操作。
3.NSDictionary
字典,用于保存具有映射(key-value键值对)关系的集合,数组是通过下标去除对应的元素,字典是通过对应的key去取,key必须唯一,否则编译不通过,value必须是对象,如果是基本数据类型需要包装一下,不可变字典一旦初始化完成,不可修改,可变字典是不可变字典的子类,可以对键值对进行修改,删除,添加操作。
4.NSNumber
这个类的作用就是将基本数据类型包装成对象,例如在数组和字典中的元素不能是基本数据类型,这时这个类就派上用场了,常用的方法有:numberWithInt,numberWithFloat,numberWithDouble,分别指的是将int类型、float类型、double类型包装成对象。NSValue是NSNumber的父类,用于包装一些结构复杂的数据类型,例如结构体,指针等。
5.Block
声明block :快捷键在实现文件的方法体中 敲 inl 直接回车,就可以出现一个block的基本块

int (^myBlock)(int,int);常见的可分为4中,
无返回值,无参数:void(^myBlock)() = ^{};
无返回值,有参数:void(^myBlock)(int ,int) =^(int ,int ) {};
有返回值,无参数:int(^myBlock)()= ^{};
有返回值,有参数: int (^myBlock)(int,int) = ^(int,int){};
注意点:Block内部可以访问外部变量,默认情况下,内部不能修改外部变量的值,如果修改,外部变量必须使用__Block修饰。否则编译不通过。
6.Category
类别是oc语言独有,作用就是在原有类中不改变源码给类增加方法,比继承更加简洁,当你在定义类的时候,在某些情况下(例如需求变更),你可能想要为其中的某个或几个类中添加方法。一个类中包含了许多不同的方法需要实现,而这些方法需要不同团队的成员实现 (有点意思,不知实践中效果如何)当你在使用基础类库中的类时,你可能希望这些类实现一些你需要的方法。如果自己定义的方法和原来类的方法名冲突,自己定义的会覆盖原来的方法。
网友评论