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阶段多为项目实战,文件无法上传,所以暂时没什么好写的。
- oc加强day5-NSFileManger、NSPoint与CGPoint等简单结构体、简单数据类型的封装、集合对象的内存管理、copy、单列模式
- 简单的单列模式
- 集合对象的内存管理、copy概念
- OC 简单的内存管理方法
- iOS 内存管理~非集合对象的copy和mutableCopy
- iOS 内存管理~集合对象的copy和mutableCopy
- ——黑马程序员——OC中简单单列模式的实现
- Foundation框架: 2.常用结构体 - NSPoint/CGPoint
- 如何简单的添加CGPoint对象到一个NSArray
- 【集合中的内存管理,常用结构体,基本数据类型和包装数据类型的转换 NSDate】
- OC学习:OC_中基本数据类型和结构体的封装(NSNumber继承与NSValue)
- NSString与CGPoint、CGSize等结构体之间转换的API !!!
- NSString与CGPoint、CGSize等结构体之间转换的API !!!
- NSString与CGPoint、CGSize等结构体之间转换的API
- NSString与CGPoint、CGSize等结构体之间转换的API
- 【OC加强】SEL数据类型的简单知识点——和方法有关
- OC加强】SEL数据类型的简单知识点——和方法有关
- OC对象的内存管理
- Delphi TreeView遍历所有节点问题
- vector::erase() vector中如何删除元素?
- 直接插入排序-java
- 重新设置mysql密码
- 能用foreach遍历访问的对象需要实现____接口或声明____方法的类型
- oc加强day5-NSFileManger、NSPoint与CGPoint等简单结构体、简单数据类型的封装、集合对象的内存管理、copy、单列模式
- 如何找到Tomcat启动时的入口文件
- 深入理解seajs之配置指南
- git push origin master fatal: 'origin' does not appear to be a git repository fatal: Could not read
- 通过pom文件修改jetty运行的端口
- 要写易删除,而不易扩展的代码
- 第1章 Activity的生命周期和启动模式 1.3 IntentFilter的匹配规则
- leetcode刷题系列C++-single number I
- grails中的相关约定