Foundation framework in iOS
objective-c不像CSharpe有一个标准库 他的标准有很多,想象一下33年前的编程语言 他都经历了什么,因为早期objective-c的一套工具库是乔老头子出走时Next-step公司写的,后来回苹果之后接着维护了。bjective-c一般常用的就是 Foundation framework。这里稍微介绍一些基础工具类。点到即止 API 太多了,我也没时间花大篇幅翻译。用到哪儿就找哪儿的API。https://developer.apple.com
NSString & NSMutableString
NSString是不可变的,NSMutbaleString是可变的。二者在类型上是不同的,但是存储的字符串是可以做对比的。
NSMutbaleString就有点类似C#的StringBuild这个类,可以做一些字符串的增删改操作。
1 |
|
1 | 2017-03-08 11:50:10.983555 oc[21186:821911] false1 |
NSString&NSMutableString常用操作梳理 - 来自CocoaChina
NSArray & NSMutableArray
和上面的NSString & NSMutableString
类似。NSArray是不可变的,NSMutableArray是可变的。二者在类型上是不同的。如果需要操作数组还是用NSMutableString,这个版本的array。
1 |
|
NSMutableDictionary 与 NSMutableArray注意的地方 - 来自博客园
NSSet
特点比较明显,无序,不重复。
1 | NSSet *set1 = [NSSet setWithObjects:@"a", @"b", @"c", @"d", nil]; |
控制台输出:
1 | 2017-03-08 17:08:04.567792 oc[49686:2060915] set1 :{( |
NSValue & NSNumber & NSData
由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们就需要将这些数据类型或结构体包装成OC对象,以便集合能访问到。常用的用来包装这些类型的有NSNumber NSValue
NSValue
NSValue可以包装任意一个对象,包括系统自定义的数据结构,结构体等等
将结构体包装成OC对象:
1 | CGPoint p = CGPointMake(1,2); |
NSNumber
- NSNumber是NSValue的一个子类
- NSNumber只能包装基本数据类型,比如int, float,char,BOOL等NSNumber 与NSValue -来自简书
1
2
3
4
5
6
7//包装
int age = 20;
NSNumber *num = [NSNumber numberWithInt:age];//将基本数据类型int对象age 包装成NSNumber对象
@(age);//直接包装
//拆封
[num intValue];
NSData
NSData和NSMutableData -来自360doc
NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛。NSData创建后不可以再修改,NSMutableData可以再次修改。
1 | 1、NSString和NSData之间的转换 |
iO操作
Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作 -来自CSDN
1 | Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作: |
本文标题:Foundation framework in iOS
文章作者:Keyle
发布时间:2017-03-08
最后更新:2024-08-20
原始链接:https://vrast.cn/posts/1e092c72/
版权声明:©Keyle's Blog. 本站采用署名-非商业性使用-相同方式共享 4.0 国际进行许可