
OC
文章平均质量分 64
论持久战-YJL
这个人什么都不懂,还喜欢瞎逼逼
展开
-
iOS开发中的简单配置
一、全局pch文件配置PCH文件(Precompile Prefix Header File),也就是预编译头文件,其作用就是,方便你一次性导入在多个文件中同时用到的头文件、宏或者URL地址等(全局使用),可以有效的帮你节约时间,提高开发效率。但是,自从Xcode 5之后,这个文件默认就不再提供了,如果你还想继续使用的话,需要手动创建并配置。1、Build Setting 设置中 搜索Pre...原创 2018-06-08 13:12:16 · 516 阅读 · 0 评论 -
atomic 与 nonatomic的区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作nonatomic:非原子属性,不会为setter方法加锁,线程不安全的,效率高 atomic:(默认属性)原子属性,为setter方法加锁,线程安全的,效率相对低1). atomic提供多线程安全。是防止在写未完成的时候被另外一个线程读取,造成数据错误2). non-atomic:在自己管理...原创 2018-08-17 14:19:10 · 713 阅读 · 0 评论 -
TCP、UDP、Socket、HTTP、THHPS工作原理及缺点
1、TCP 传输控制层协议,面向连接、可靠的、点到点的通信 UDP 用户数据包协议,非面向连接、不可靠,点到多点的通信 TCP侧重可靠传输、UDP侧重于快速 TCP可靠传输:三次握手(连接)、四次分手(断开),点到点 2、Socket 和 HTTPHTTP超文本传输协议 基于TCP连接的 “应用层”协议 短连接 ...原创 2018-08-17 13:11:46 · 2736 阅读 · 0 评论 -
iOS 沙盒文件目录、数据持久化4种方法
1、沙盒文件目录// 获取沙盒主目录路径NSString *homeDir = NSHomeDirectory();每一个APP都有一个存储空间,就是沙盒。APP之间不能相互通信。沙盒根目录结构:.app、Documents、Library、tmp。(1)、.app包:这里面存放的是应用程序的源文件,包括资源文件和可执行文件。NSString *path = [[NSBun...原创 2018-08-17 12:30:45 · 842 阅读 · 0 评论 -
KVO(监听)
_g = [Dog new]; _g.name = @"AAAA"; //被监听的对象 //监听者 //被监听的属性(被监听的对象的属性) [_g addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOption...原创 2018-08-17 11:28:35 · 313 阅读 · 0 评论 -
通知(NSNotification、NSNotificationCenter)
1、NSNotification这个类是通知类,由这个类创建的对象是一个通知对象,也可以理解为是一个消息对象。类中有三个成员变量:name:是消息对象的唯一标识,接受通知消息时用来辨别object:一个对象,可以理解为针对某个对象的消息userInfo:一个字典,用来传值@property (readonly,copy)NSNotificationName name;@p...原创 2018-08-17 11:15:16 · 233 阅读 · 0 评论 -
ios 面试总结
1、OC:面向对象的语言特性:封装、继承、多态动态特性:如id,运行时再决定对象的类型动态绑定:对象实例化后,类型才被确定,对象的属性和相应消息也被确定动态加载:根据需求加载所需的资源,如不同机型的适配,@2X 和 @3X 2、静态类型 和 动态类型静态类:固定性、可预知性 -------强类型动态类型:------弱类型 3、【重点】内存管理ret...原创 2018-08-17 09:18:23 · 117 阅读 · 0 评论 -
Catagory添加属性、扩展方法
objc_setAssociatedObject(self, &strKey, isShow, OBJC_ASSOCIATION_COPY_NONATOMIC);return objc_getAssociatedObject(self, &strKey); 1、什么是Category?category是Objective-C 2.0之后添加的语言...原创 2018-08-15 16:40:31 · 853 阅读 · 0 评论 -
GCD
//参数1: 队列的名称 //参数2: 队列的属性,属性有两个,分别为: DISPATCH_QUEUE_SERIAL(NULL) 串行队列,当创建串行队列时直接写NULL DISPATCH_QUEUE_CONCURRENT 并发队列 dispatch_queue_t queue = dispatch_queue_create(const cha...原创 2018-08-17 16:01:54 · 281 阅读 · 0 评论