oc加强day5-NSFileManger、NSPoint与CGPoint等简单结构体、简单数据类型的封装、集合对象的内存管理、copy、单列模式

来源:互联网 发布:护肤品推荐知乎 编辑:程序博客网 时间:2024/05/11 14:34

NSFileManager 文件管理器

fileExistAtPath:   isDirectory:   第一个参数是路径,第二参数判断是否是目录 对象方法

isReadableFileAtPath:    可读 对象方法

isWriteableFileAtPath: 可写 对象方法

isDeleteableFileAtPath:     可删除 对象方法

attributesOfItemAtPath:      获取文件属性

subpathAtPath: 递归方式获取子目录

非递归方式获取子目录

创建文件夹方法

拷贝方法

移动方法

沙盒的简单了解


NSPoint和CGPoint,一个东西,NSPoint是CGPoint的别名

CGPoint是个结构体,里面放了两个double类型,表示二维平面上得一个点

NSSize和CGSize也是一个东西,里面放了两个double类型,表示的是长和宽

NSRect和CGRect是一回事,也是一个结构体,里面放的是CGSize和CGPoint,表示的是未知和尺寸

NSNumber *number=@3;包装成NSNumber *类型

NSValue的基本用法

NSDate的基本用法


集合对象的内存管理

对象加入到数组中,引用计数器加1

集合挂了的时候会向其内的所有对象发送一条release方法


copy

为自定义的类使用copy方法前,先遵守协议<NSCopying>

实现copyWithZone方法,在方法里返回自身

实际上copy操作就是把原来对象的所有内容原封不动的复制到新的对象中,并返回新的对象。

alloc 实际上就是调用 allocWithZone 方法

NSString做了copy操作之后,不生成新的字符串,而是指向原来的字符串(浅拷贝)

NSString做了mutableCopy后不是原来的字符串,是一个新的可变字符串(深拷贝)

NSMutableString做了copy操作之后,生成新的、不可变的字符串(深拷贝)

NSMutableString做了mutableCopy之后,生成新的、可变的字符串(深拷贝)

浅拷贝:NSString的copy操作,即不生成新的字符串,引用计数器加1

深拷贝:mutableCopy的操作,NSMutableString的copy操作,即生成新的字符串,引用计数器不变

property中Copy时,会先判断修改的是不是自身的,如果是就修改,如果不是就copy一份,防止自身的值被修改


单列模式

只有一个对象,通过这个对象进行操作

1.重写类方法:allocWithZone

2.声明一个静态的对象

3.在allocWithZone里面判断这个对象是否存在

4.如果不存在,创建对象,存在就用原来的


通过重写方法完成。


因UI阶段多为项目实战,文件无法上传,所以暂时没什么好写的。



0 0
原创粉丝点击