黑马程序员技术交流社区
标题:
Foundation框架常用方法
[打印本页]
作者:
杨光0618
时间:
2016-8-27 19:40
标题:
Foundation框架常用方法
1.Foundation框架
基本是所有不包含用户界面的一个基础框架
NSString
NSURL
NSMutableString
NSArray
NSMutableArray
NSNumber
NSValue
NSDictionary
NSMutableDictionary
NSFileManager
NSDate
NSData
CGPoint
CGSize
CGRect
copy
单例
2.NSString类
NSString是一个类,定义在Foundation框架中
NSString用来创建一个字符串数据的
NSString是OC中最常用的对象,为了快速创建NSString对象,OC提供了一种更为快捷的方式创建NSString对象,使用@符号
NSString *str = @"jack";
str中存储的是”jack”的地址
%p是打印指针变量的值
%@是打印指针变量指向的对象,NSString这个类重写了对象的Description方法
存储在内存中的字符串对象,无论在堆区还是在常量区,字符串内容是无法更改的
为NSString指针重新赋值一个字符串的时候,并不是修改原来的字符串内容,而是重新在内存中创建一个字符串,把地址赋值给NSString指针
在常量区创建字符串的时候,会先检查常量区有没有相同的字符串,如果有,那么会直接把地址赋值给要创建的NSString指针
在堆区创建字符串的时候,不会检查常量区,但在堆区创建的时候,原理和在常量区一样
常量区的数据是不会被回收的,字符串同理
不回收的原因是为了提高效率
因为下次不用创建字符串对象了
最常用得到几个方法
得到字符串的长度
[str length];
对象方法
得到下标的字符
[str characterAtIndex:int];
返回值是unichar,打印的时候最好使用%C
对象方法
以拼接的方式组成一个新的字符串
+ (instancetype)stringWithFormat:(NSString *)format,…
NSString *str = [NSString stringWithFormat:@“%04d年%02d月%02日”,1988,2,1];
判断两个字符串是否相等
- (BOOL)isEqualToString:(NSString *)aString;
将C语言的字符串转换为OC字符串对象
+ (nullable instancetype)stringWithUTF8String:(const char *)nullTerminatedCString;
将OC字符串转换为C语言字符串
[str UTF8String];
返回值是char *类型
对象方法
常用的方法
将字符串写入到文件当中
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL) useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;
[str writeToFile:(路径) atomically:(多线程) encoding:(编码方式) error:(报错原因的地址)];
NSString *str = @"hhhh";
[str writeToFile:@"/Users/Phoenix/Desktop/demo.txt" atomically:NO encoding:4 error:nil];
从指定的文件中读取字符串
NSString *arr = [NSString stringWithContentsOfFile:@"/Users/Phoenix/Desktop/demo.txt" encoding:4 error:nil];
(路径) (编码方式,一般使用NSUTF8Encoding) (报错原因地址)
从URL中获取字符串
NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
NSString *arr = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
从URL读取数据
BOOL demo = [str writeToURL:url atomically:NO encoding:NSUTF8StringEncoding error:nil];
往URL存储数据
返回值为BOOL类型,代表是否写入成功
字符串比较
- (NSComparisonResult)compare:(NSString *)string;
比较字符串的大小
int len = [str1 compare:str2 options:NSCaseInsensitiveSearch];
指定选项的比较
忽略大小写比较str1和str2两个字符串
参数
NSNumericSearch
比较两个字符串中数字的大小
枚举参数:具体在API里看
hasprefix
判断字符串是否以指定字符串开头
hasSuffix
判断字符串是否以指定字符串结尾
作者:
1358840521
时间:
2016-8-28 00:17
全面,收藏了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2