OC
雅之道法自然
study hard, study smart
展开
-
知识点:id 和NSObject *对比,以及id <NSObject>介绍
在obj.h的类文件中(想要知道源码具体有内容,可以通oc runtime源码 版本 objc4-723查看源码内容。),可以看出id类型和NSObject类型的信息。如下: 类 id /// An opaque type(隐含类型) that represents an Objective-C class. typedef struct objc_class *Class; /// Repre...原创 2018-11-06 13:30:21 · 256 阅读 · 0 评论 -
多线程之NSThead的进阶使用和探讨
概述 NSThread类是一个继承NSObjct类的个轻量级的类。但需要管理线程的生命周期、同步、加锁等问题,这会导致一定的性能开销。 使用NSThread类可以让某个OC方法在特定的线程中被调用。当需要执行一个冗长的任务,并且不想让这个任务阻塞应用中的其他部分,尤其为了避免不阻塞app的主线程(因为主线程用于处理用户界面展示交互和事件相关的操作),这个时候非常适合使用多线程。线程也可以将一个庞...原创 2018-11-15 17:35:17 · 136 阅读 · 0 评论 -
知识点:可变数组的属性使用copy修饰的后果
问题: 视频What’s New in LLVM 中,从12:05的时间开始有个关于NSMutableArray可变数组属性的使用问题。 运行后报错图如下: 分析: self.photos的实际类型是 __NSMutable0,也就NSArray类型。没有addObject的方法。 进一步探讨: OC是门动态型语言,在编译阶段不会做类型检测。OC的内存管理是引用计数,在ARC环境下,属性...原创 2018-11-16 07:27:33 · 719 阅读 · 0 评论 -
iOS缓存策略之NSCache的简单使用
NSCache是一个继承NSObjec的可变集合,是苹果提供的一套缓存机制,用键值(key-value)对来临时存储只需要短暂存储在内存中的数据,并且当内存空间很少的时候会可以自动释放一些资源。 概观 缓存(cache)对象和其他可变集合不同的几个方面。 NSCache类包含了各种自动销毁策略,来保证缓存内容没有占用过多的系统内存。如果其他应用需要内存,这些策略会从系统中移除一些选项内容,来减...原创 2018-11-15 00:19:09 · 196 阅读 · 0 评论 -
多线程之NSOperation的进阶使用和探讨
本文将会从这多个方面探讨NSOperation类和NSOperationQueue类的相关内容 一、简介 NSOperation的是iOS2.0推出的,通过NSThread实现的,但是效率的确一般。 从OS X10.6和iOS4推出GCD时,又重写了NSOperation和NSOperationQueue,NSOperation和NSOperationQueue分别对应GCD的任务和队列,所以...原创 2018-11-24 09:30:55 · 273 阅读 · 1 评论