Foundation => Objective-C _ Part6
来源:互联网 发布:光盘打印软件 编辑:程序博客网 时间:2024/05/01 22:01
Foundation常用的结构体
1. NSRange
- 范围 - - - 格式
NSRange( location, length )
- 例子: @”i love oc”, 求love的range
NSRange testRange = NSMakeRange(2,4)
2. NSPoint/CGPoint
- 坐标(x ,y) - - - 格式
CGPoint testPoint = CGPointMake(10, 5)
- NSPoint 就是CGPoint , 包含了CGFloat x , CGFloal y
3. NSSize/CGSize
- 宽高(width ,height) - - - 格式
CGSize testSize = CGSizeMake(20, 20)
- NSSize就是CGSize. 包含了宽(width), 高(height)
4. NSRect/CGRect
- 位置(x, y, width, height) - - - 格式
CGRect testRect = CGRectMake(10, 5, 20, 20)
- CGRect转成NSString
NSString *testStr = NSStringFromRect(testRect)
5. 结构体常用的函数
- CGPointEqualToPoint - - - 比较2个点是否相同(x, y是否相等)
- CGSizeEqualToSize - - - 同上
- CGRectEqualToRect - - - 同上
- CGRectContainsPoint - - - 判断一个point是不是包含在Rect的范围里
Foundation常用的类
4. NSDictionary
- 字典的创建和取值
- 简单创建方式
@{@“key 名”:@“value 值”, …}
- 简单获得方式
dict[@“key名”]
- 简单创建方式
- 字典的遍历
- 如何获取字典中键值对的个数
NSLog(@“count = %lu”,[dict count]);
- 如何遍历
- 普通for 循环
NSArray *keys = [dict allKeys];
- 增强 for 循环
for(NSString *key in dict)
- 迭代器 ==> 直接传 key 和 value . ==>> 这个最简单,最好用
- 普通for 循环
- 如何获取字典中键值对的个数
- 字典的文件读写
- 写入文件
[dict writeToFile:@“路径” atomically: YES] ;
- 读出文件
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:@“路径”];
- 注意 : 字典是无序的
- 写入文件
5. NSMutableDictionary
- 创建
NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
- 添加
[dictM setObject:@“value” forKey:@“key”];dictM[@“newKey”] = @“9999”[dictM setValuesForKeysWithDictionary:@{自定义的字典}]; ==>>会将传入字典中所有的键值对取出来添加到 dictM 中
- 获取
NSLog(@“name = %@”,dictM[@“name”])
- 删除
[dictM removeObjectForKey:@“name”];
- 修改
[dictM setObject:@“888” forKey:@“key”];
- 注意点
- 不能用@{} 创建可变字典
- 如果是NSDictionary, 那么 Key 不能相同
- 如果是在 NSDictionary 中出现了同名的 key, 那么后面的 key 对应的值不会被保存
- 如果是在 NSMutableDictionary 中, 后面的会覆盖前面的
6. NSNumber
- 基本数据类型转换为对象类型
- 普通写法
NSNumber *num = [NSNumber numberWithInt:age];
- 简写
NSNumber *num = @(age);
- 注意: 如果传入的是变量, 就必须写@(变量), 如果是常量, 可以写成@常量
- 普通写法
- 对象类型转换为基本数据类型
- 普通写法
int temp = [ageN intValue];
- 普通写法
7. NSValue
- 用于包装任意类型 - - - 对象类型
CGPoint point = CGPointMake(10,20);NSValue *value = [NSValue valueWithPoint:point];NSArray *arr = @[value];
- 包装自定义结构体
Person p = {30,”lnj”, 1.75};NSValue *value = [NSValue valueWithBytes:&p objCType:@encode(Person)];Person res; ==>>> 从 NSValue 中取出自定义的结构体变量[pValue getValue:&res];//valueWithBytes: 接收一个指针, 需要传递需要包装的结构体的变量的地址//objCType 需要传递需要包装的数据类型
8. NSFileManager
- 用来管理文件系统的
- 它是单例 NSFileManager *manager = [NSFileManager defaultManager];
- 判断文件是否存在, ==>>较为常用
- 是否是文件夹, ==>>较为常用
- 获取文件或文件夹的属性 ==>> 返回字典 ==>>包含了所有文件的属性
- 清除缓存 ==>>
- copy, delete, move
- 创建文件夹
- 是否可读,
- 是否可写,
- 是否可删除
9. Category分类
- OC特有语法
- 作用
- 可以在不修改原来类的基础上, 为这个类扩充了一些方法
- 一个庞大的类可以分模块开发 ==> 最大的用途之一
- 一个庞大的类可以由多个人来编写, 更利于团队合作 =>Foundation 就是这么写的
- 使用
- 分类也分为声明和实现2个部分
- 创建: OCFILE => File: 分类的名称 => FileType: Category =>Class: 给谁扩充方法
0 0
- Foundation => Objective-C _ Part6
- Foundation => Objective-C _ Part1
- Foundation => Objective-C _ Part2
- Foundation => Objective-C _ Part3
- Foundation => Objective-C _ Part4
- Foundation => Objective-C _ Part5
- Foundation => Objective-C - Const
- Foundation => Objective-C - NSString
- Foundation => Objective-C - NSDate & NSCalendar
- Foundation => Objective-C - NSArray & NSMutableArray
- Objective-C Foundation基础
- Objective-C---Foundation框架
- objective-c之Foundation
- Objective-C:Foundation
- Objective-C:Foundation
- Objective-C:Foundation
- Objective-C Foundation框架
- Objective-C Foundation
- VLAN划分、VLAN间通讯、TRUNK模式、VTP模式、EthernetChannel的配置(拓扑图)
- android---在ScrollView中嵌套ViewPager
- 【Hibernate】——多对一关联映射
- linux find使用
- android---broadcastReceiver广播机制
- Foundation => Objective-C _ Part6
- 让员工发挥90%的能力,学会这两个字就够了
- android---service的启动,和activity的通信
- C# 事务异常TransactionScope处理
- android---后台代发短信
- Android ImageButton,Button,CheckBox等抢了原有View的点击事件 点击事件冲突问题
- 成员变量和局部变量
- android---ScrollView中嵌套ListView
- Linux命令大全