转换大小写:
uppercaseString // 全大写
lowercaseString // 全小写
capitalizedString // 单词首字母大写
比较大小:
isEqualToString
compare
hasPrefix: // 是否包含前缀
hasSuffix: // 是否包含后缀
查找:
rangeOfString 查找字符串中子串的范围, range.location range.length
提取子串:
subStringToIndex
subStringFromIndex
subStringWithRange
结构体的对象能存储在栈里, 而类的对象不能存储在栈里.
3. 可变字符串
NSMutableString : NSString
NSString 的方法 NSMutableString 也能用
传参的时候可以传NSString * 也可以传 NSMutableString *
setString 设置或替换当前字符串内容
增:
追加: appendString appendFormat
插入: insertString: atIndex:
删:
deleteCharactersInRange
生成range的函数NSMakeRange(2, 4);
改:
replaceCharactersInRange: withString:
查:
rangeOfString
4.类别
只有OC才有类别 (categoryName)
类别就是类的升级补丁, 可以被继承
类别不能用来添加成员变量, 只能添加方法(包括类方法和成员方法)
5.不可变数组
数组的元素是任意的对象, 不仅仅局限于字符串, 数组中只装了对象的地址. 相当于指针数组.
和C中的数组不同, 元素可以是不同类型的对象, 在结构上讲, 它是一个链表.
initWithObjects
使用%@打印的都是对象, 而且这个类都要有一个description方法
-(NSString *) description; // description方法只能这样写, 打印的是该方法的返回值, 对中文支持不好
直接遍历:
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: ] // 使用字符分割字符串
|
|