您的位置:首页 > 其它

Foundation框架2

2015-09-24 10:11 260 查看
NSMutableString

NSMutableString和NSString的区别

NSString是可变的,里面的文字内容是不能进行修改的

NSMutableString是可变的,里面的文字内容可以随时更改

NSMutableString能使用NSString的所有方法

NSMutableString的常用方法

- (void)appendString:(NSString *)aString;

拼接aString到最后面

- (void)appendFormat:(NSString *)form,...;

拼接一段格式化字符串到最后面

- (void)deleteCharactersInRange:(NSRange)range;

删除range范围内的字符串

- (void)replaceCharactersInRange:(NSRange)range withString: (NSString *)aString;

使用aString替换range范围内的字符串

NSArray

什么是NSArray

NSArray是OC中的数组类,开发中建议尽量使用NSArray替代C语言中的数组

C语言中数组的弊端

int array[4] = {10,89,27,76}

只能存放一种类型的数据

不能很方便的动态添加数组元素

不能很方便的动态删除数组元素

NSArray的使用注意

只能存放任意OC对象,并且是有顺序的

不能存储非OC对象,比如int\float\double\char\enum\struct等

它是可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素

NSArray的创建

NSArray常见的创建方式有

+ (instancetype)array;
+ (instancetype)arrayWithObject:(id)anObject;
+ (instancetype)arrayWithObjects:(id)firstObj, ...;
+ (instancetype)arrayWithArray:(NSArray *)array;

+ (id)arrayWithContentsOfFile:(NSString *)path;
+ (id)arrayWithContentsOfURL:(NSURL *)url;


可以将一个NSArray保存到文件中

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;


NSArray的检索

- (NSUInteger)count;

获取集合元素个数

- (id)objectAtIndex:(NSUIteger)index;

获得index位置的元素

- (BOOL)containsObject:(id)anObject;

是否包含某一个元素

- (id)lastObject;

返回最后一个元素

- (id)firstObject;

返回最后一个元素

- (NSUInteger)indexOfObject:(id)anObject;

查找anObject元素在数组中的位置(如果找不到,返回-1)

- (NSUInteger)indexOfObject:(id)anObject inRange: (NSRange) range;

在range范围内查找anObject元素在数组中的位置

NSArray的简写

自从2012年开始,Xcode的编译器多了很多自动生成代码的功能,使得OC代码更加精简

数组的创建

之前

[NSArray arrayWithObjects:@"Jack",@"Rose",@"Jim",nil];

现在

@[@"Jack",@"Rose",@"Jim"];

数组元素的访问

之前

[array objectAtIndex:0];

现在

array[0];

NSArray给所有元素发消息

- (void)makeObjectsPerformSelctor:(SEL)aSelector;

- (void)makeObjectsPerformSelctor:(SEL)aSelector withObject:(id)argument;

让集合里面的所有元素都执行aSelector这个方法

NSArray遍历元素

遍历,就是将NSArray里面的所有元素一个一个取出来查看

常见的遍历方式有

普通遍历

for (int i = 0;i<array.count; i++) {}

快速遍历

for (id obj in array) {}

Block遍历

[array enumerateObjectsUsingBlock:^(id obj, NSUInteger iddx, BOOL *stop) { }];

NSArray于NSString

- (NSString *)componentsJoinedByString:(NSString *)separator;

这是NSArray的方法,用separator作拼接符将数组元素拼接成一个字符串

- (NSArray *)componentsSeparatedByString:(NSString *)separator;

这是NSString的方法,将字符串用separator作为分隔符切割成数组元素

NSMutableArray

什么是NSMutableArray

NSMutableArray是NSArray的子类

NSArray是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素

NSMutableArray是可变的,随时可以往里面添加\更改\删除元素

NSMutableArray添加元素

- (void)addObject:(id)object;

添加一个元素

- (void)addObjectsFromArray:(id)anObject atIndex: (NSUInteger)index;

在index位置插入一个元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: