随笔分类 -  OC

摘要:一、对象何时回收 Java中,使用可达性分析算法标识对象是否回收,即使对象通过可达分析算法被标记为不可达对象,对象不一定被被回收,对象需要经过两次标记才会被回收。在第一次标记后对象会被放入“即将回收”的集合中。对象在随后的判定是否有必要执行finalize()函数后,才会被进行第二次标记,这样,对象 阅读全文
posted @ 2021-10-18 16:29 naray 阅读(337) 评论(0) 推荐(0)
摘要:一、概述 委托:就是一个对象对另一个对象的变化的响应,或者也可以说的对另一个对象影响的反应。 Block:就是一个代码块,有闭包的思想在其中。Block执行代码在编译时就已经生成,并且会将与之相关的使用的变量的数据结构的快照拷贝到栈或堆上(依照Block类型而定)。 二、委托优缺点? 优点: 减少代 阅读全文
posted @ 2017-05-07 14:48 naray 阅读(452) 评论(0) 推荐(0)
摘要:一、MRC 与 ARC 各自的属性修饰符 二、内存管理修饰符 MRC 模式下属性修饰符 retain: 引用计数加1。 assign: 分配内存,类似于copy。常用于基本数据类型,比如:int,long,NSInteger等。 ARC 模式下属性修饰符 weak: 当引用计数为零时,将其置为nil 阅读全文
posted @ 2017-05-07 14:46 naray 阅读(1080) 评论(0) 推荐(0)
摘要:NSDictionary to NSData 1 NSMutableDictionary *mDic = [[NSMutableDictionary alloc] initWithCapacity:1]; 2 [mDic setValue:@"test1" forKey:@"test1"]; 3 [ 阅读全文
posted @ 2016-03-08 16:31 naray 阅读(265) 评论(0) 推荐(0)
摘要:一、概述在初始化使用init方法初始化时,会将以init开头的初始化方法,按顺序调用一遍。比如以下几个方法:1 initWithFrame:2 initWithNibName:3 initWithStyle:PS:注意,在自定义Cell时,使用register注册一个Cell时,仅调用initWit... 阅读全文
posted @ 2015-12-04 23:10 naray 阅读(495) 评论(0) 推荐(1)
摘要:一、概述 在iOS中,ViewController与View是配对使用的,一个ViewController可以对应多个View,就是指View的父控制器。当然,一个ViewController也可以对应一个View,在View1中,添加另一个View1_1,使用addSubView方法,此时,也要... 阅读全文
posted @ 2015-11-06 15:04 naray 阅读(573) 评论(0) 推荐(0)
摘要:一、概述在IOS APP开发过程中,会使用到Core Foundation库,简称CF。如:Core Graphics,Core Text。在ARC模式下,编译器不会自动管理CF对象内存,这样,就需要我们自己管理了,当我们创建一个CF对象后,就需要使用CFRelease(CFOject)手动释放内存... 阅读全文
posted @ 2015-10-12 14:05 naray 阅读(375) 评论(0) 推荐(0)
摘要:一、示例一,截取一张圆形图片: 1 /** 2 * @method 3 * @abstract 头像图片圆形样式 4 * @discussion 5 * @param 6 * @result 7 */ 8 - (UIImage *)getImgCircularWithImage:(UII... 阅读全文
posted @ 2015-10-10 15:37 naray 阅读(1125) 评论(0) 推荐(0)
摘要:一、自定义TableViewCell1. 创建Cocoa Touch Class文件,同时,生成xib文件。2. 设置xib文件对象的基类 3. 拖拽控件(UIImageView、UILabel),并且设置其位置和大小。 4. 用拖拽方式创建控件属性代码,使用Alt+鼠标左键同时打开xib文件及... 阅读全文
posted @ 2015-09-16 15:48 naray 阅读(283) 评论(0) 推荐(0)
摘要:OC内存管理方式:ARC 自动引用计数内存管理方式。Reference Count(引用计数):类似于C++的共享指计,会C++的都懂,当一段内在被申请后,就会记录这段内存被使用次数.当次数为0时,被申请的内在就会被释放。Retain消息:使计数器+1,改方法返回对象本身。Release消息:使计数... 阅读全文
posted @ 2015-08-20 21:39 naray 阅读(184) 评论(0) 推荐(0)
摘要:1. 从一个视图被创建,到呈现在屏幕上,之间的加载过程: 1. alloc // 申请内存 2. init // 调用构造函数,执行初始化方法,对本对象属性做监听时,在此处添加监听事件(addObserver:)。 3. viewLoad // 将要加载视图 4. viewDidLoad // 视图 阅读全文
posted @ 2015-08-17 14:09 naray 阅读(246) 评论(0) 推荐(0)
摘要:一、Class 类型机制:一个类在正确编译后,在这个被正确编译好的类里面,存在一个isa指针,用于存储类的方法及变量信息,这个isa指针是id类型。可以通过一个普通的字符串可能获取到这个Class类型对象,也可以通过此类的对象获取到此类的Class类型对象,获取到Class类型对象后,可以按类实例化... 阅读全文
posted @ 2015-08-13 11:02 naray 阅读(874) 评论(0) 推荐(0)
摘要:采用代理模式采用IOS消息机制通过NSUserDefaults存储(或文件,或数据库存储)NSUserDefaults 轻量级本地数据存储数据结构1 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];PS: 数据... 阅读全文
posted @ 2015-08-13 10:51 naray 阅读(923) 评论(0) 推荐(0)
摘要:一、概述协议就是委托(delegate)/代理,是指一个对象提供机会对另一个对象的变化做出反应或者影响另一个对象的行为。协议只能一个用途,就是为继承的类,声明出一堆方法的声明。基类遵守的协议,其派生类也要遵守其基类遵守的协议,也就是说父类的协议可以被子类继承。在OC中类不能多重继承,只能单继承,而协... 阅读全文
posted @ 2015-08-13 10:49 naray 阅读(1667) 评论(0) 推荐(0)
摘要:一、概述 Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理要么导致return cycle内存泄漏要么内... 阅读全文
posted @ 2015-08-12 14:37 naray 阅读(895) 评论(0) 推荐(0)
摘要:一、多线程管理机制二、NSThread三、NSOperation四、GCD : 全称 Grand Central Dispatch ,一套底层 API,提供并发程序编写. 基本概念就是 Dispatch queue (调度队列),并且提供了三种队列:The main queue : 与mian线程功... 阅读全文
posted @ 2015-08-03 15:45 naray 阅读(329) 评论(0) 推荐(0)
摘要:1. 使用copy修饰NSMutableDictionary,返回值的存储类型为NSDictionary,也就是说,使用copy属性修饰的变量或属性,返回值不可修改类型。 阅读全文
posted @ 2015-07-27 11:22 naray 阅读(171) 评论(0) 推荐(0)
摘要:一、格式与例子格式1 (参数1, 参数2, 参数3) 类型 变量名;例子1 @property (nonatomic, assign, readonly) NSString *iText;二、MRC下,特性@property 声明的属性,在编译时刻会生成相应的成员变量(_XXX),除非,声明一个与属... 阅读全文
posted @ 2015-07-24 09:43 naray 阅读(962) 评论(0) 推荐(0)
摘要:消息机制 -- NSNotificationCenter 阅读全文
posted @ 2015-06-05 14:55 naray 阅读(133) 评论(0) 推荐(0)
摘要:一.KVO 模式key-value observing (观察者模式),即键值监听,分为观察者和被观察对象,当被观察对象中属性发生变化,被观察对象会通过观察者.OC中,KVO常用方法:注册指定Key路径的监听器 : addObserver: forKeyPath: options: context:... 阅读全文
posted @ 2015-06-02 15:15 naray 阅读(320) 评论(0) 推荐(0)