oc的增 删 改 总结
来源:互联网 发布:矩阵的秩怎么计算 编辑:程序博客网 时间:2024/06/06 22:57
1.不可变字符串
NSString * str = @"Hello World!";
NSString * str2 = [[NSString alloc] initWithString: str];
NSString * str3 = [[NSString alloc] initWithUTF8String:"HEllo World!"];
NSString * str4 = [[NSString alloc] initWithFormat:@"hello %c %d %f", 'A', 3, 3.14]; // 字符串的万能方法
还有类方法[NSString stringWithString: str];
[NSString stringWithUTF8String:"hello"];
[NSString stringWithFormat:@"hello %d", 5];
str.length / [str length] 来确定字符串长度
转换大小写:
uppercaseString // 全大写
lowercaseString // 全小写
capitalizedString // 单词首字母大写
比较大小:
isEqualToString
compare
hasPrefix: // 以什么开头
hasSuffix: // 以什么结尾
查找:
rangeOfString 查找字符串中子串的范围, range.location 从那里开始 range.length 开始后的长度
截取子串:
subStringToIndex //从头开始截取 (不包括自己)
subStringFromIndex //从该处开始到结尾 (包括自己)
subStringWithRange //通过范围来截取子串,从location开始(包含自己)往后截取length个
2. 可变字符串
NSMutableString : NSString
NSString 的方法 NSMutableString 也能用
传参的时候可以传NSString * 也可以传 NSMutableString *
NSMutableString 是NSString的子类 ,所以NSString的方法NSMutableString都可以用
setString 设置或替换当前字符串内容
增:
追加: appendString appendFormat
插入: insertString: atIndex:
删:
deleteCharactersInRange:NSMakeRange(location , length);
改:
replaceCharactersInRange: withString:
查:
rangeOfString
3.不可变数组
数组的元素是任意的对象, 不仅仅局限于字符串, 数组中只装了对象的地址. 相当于指针数组.
和C中的数组不同, 元素可以是不同类型的对象
initWithObjects
直接遍历:
NSLog(@"%@", arrayName); //可以直接输出 但可能会出现乱码的情况需要进行遍历
枚举法遍历:
用当前数组创建一个枚举器(NSEnumerator *)enumerator = [array objectEnumerator], 然后调用枚举器的nextObject方法, 返回数组中每个元素的地址.
快速枚举法:
for (id obj in arrayName){}
专门用于枚举数组的for, 和平常的for不是一个. 每次循环得到一个数组元素的地址.
循环遍历:
objectAtIndex: // 返回数组中一个元素的地址
indexOfObject: // 某元素的下标
count // 元素个数
[array containsObject: ] // array中是否包含某个元素
componentsJoinedByString: // 将数组中的元素组合起来
componentsSeparatedByString: // 分割字符串
componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString: ] // 使用字符分割字符串
4.可变数组
初始化:
initWithArray
[arrayName ObjectsAtIndexes]
setArray
枚举法遍历的时候不允许修改其中的元素及个数和顺序, 快速枚举法也不可以, 但是逆序枚举的时候reverseObjectEnumerator可以修改
增加:
addObject
insertObject: atIndex:
删除:
removeObjectAtIndex
removeObject
exchange replace
5.字典
NSMutableDictionary: NSDictionary
initWithObjectsAndKeys:
// 字典中的成员称为键值对, @"One"和@"1"组成一个键值对, @"One"称为值(Value), @"1"称为键(Key);并且字典是无序的
// 键和值都是任意对象, 不过, 键往往使用字符串, 字典里装的只是键和值的地址, 值可以重复, 但是键不能重复, 为
同一个key设置value时, 将会替换掉原始的value
ObjectForKey // 可以迅速通过key来找到一个值(value)
count // 键值对的个数
注意:字典内Key唯一,如果使用setObject:forKey:往数组内添加一条键值对时,当该key已经存在,那么覆盖掉以前对应的value,当key不存在时,那么相当于插入了一条键值。
//setObject:forKey 是为字典添加键值,或者修改某key对应的value的方法。key需要是遵循NSCoding协议的对象
//setValue:forKey 是KVC的方法,key值必须是NSString
//以另一个字典内的所有键值,来添加到现有字典中
// [firstMutableDictionary addEntriesFromDictionary:firstDictionary];
//用另一个字典内的所有键值,替换掉现有的所有键值
// [firstMutableDictionary setDictionary:firstDictionary];
//根据key值删除字典内的object
[firstMutableDictionary removeObjectForKey:@"discount"];
//删除所有键值对(清空字典)
[firstMutableDictionary removeAllObjects];
//遍历字典内所有value
for (NSString *str in [firstMutableDictionary allValues]) {
NSLog(@"%@", str);
}
排序:
//设置排序的规则key部分写要排序的属性
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
//定义第二排序规则,如果年龄一样,根据学号来排序
NSSortDescriptor *sort2 = [NSSortDescriptor sortDescriptorWithKey:@"number" ascending:YES];
NSArray *array = [mulArray sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sort, sort2, nil]];
集合的特点:元素唯一(不能有相同的元素); 集合内元素无序
获取集合内的元素个数
NSLog(@"%ld", firstSet.count);
//获取集合内的所有元素
NSArray *array = [firstSet allObjects];
for (NSString *str in array) {
NSLog(@"%@", str);
}
返回集合内的某个元素
NSLog(@"%@", [firstSet anyObject]);
判断集合内是否包含某个元素
[firstSet containsObject:@"211"]
- oc的增 删 改 总结
- QTabelView的与数据库相关增、删、查、改总结
- OC 的一些总结
- xml的增 删 改
- 练手的增,删,改
- oc 结构的相关总结
- OC的几个知识点总结
- OC类的扩展总结
- OC基础的总结1
- OC类的扩展总结
- OC基础知识点的总结(全),学习OC的日记
- OC基础知识点的总结(全),学习OC的日记
- Java JDBC基本操作(增,删,改,查)总结
- jQuery总结:三、DOM操作(增/删/改/查)
- Ryan的OC学习总结-----1 第一个OC程序
- Ryan的OC学习总结-----8 OC编码规范
- OC 总结
- OC 总结
- 对Cookie的理解
- python封装screenrecord成一个录屏工具,并输出gif图
- responsrializer-afn
- Deep Learning(深度学习)学习笔记整理系列之常用模型
- [Leetcode]Rotate List
- oc的增 删 改 总结
- c++ primer第五版(中文)习题答案 第三章第五节-数组
- 05 集群安装(stand alone)
- ViewPager中切换界面Fragment被销毁解析
- WITH子句定义一张临时表
- HashMap
- linux——Shell的控制结构(附shell编写代码和运行结果)
- JDK数据类型Short、Long
- jquery easyui-datagrid 如何清空数据