摘要: 转载链接:Objective-C 消息发送与转发机制原理 文章目录 1. 八面玲珑的 objc_msgSend 1.1. 源码解析 1.2. 为什么使用汇编语言 2. 使用 lookUpImpOrForward 快速查找 IMP 2.1. 优化缓存查找&类的初始化 2.2. 继续在类的继承体系中查找 阅读全文
posted @ 2019-06-27 18:04 mustard22 阅读(3302) 评论(0) 推荐(0) 编辑
摘要: 转载链接:https://juejin.im/post/5c22023df265da6124157a25 介绍 KVO( NSKeyValueObserving )是一种监测对象属性值变化的观察者模式机制。其特点是无需事先修改被观察者代码,利用 runtime 实现运行中修改某一实例达到目的,保证了 阅读全文
posted @ 2019-06-27 17:50 mustard22 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 转载链接:http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/ 本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机。 1.引言 曾经 阅读全文
posted @ 2019-06-27 17:29 mustard22 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 结论: 1.用KVC改变只读属性的值; 2.若禁止KVC方式修改只读属性的值,可在对应类重写类方法 分析: 1.被readonly修饰的属性,是没有创建setter方法的,所以通过点语法修改属性的值会报错; 2.在类的实现文件里,是可以通过实例变量修改属性的值; 3.在类的外部文件里,可以通过KVC 阅读全文
posted @ 2019-06-27 15:53 mustard22 阅读(1398) 评论(0) 推荐(0) 编辑
摘要: 分析: 以N=15为例, 1个,15; 2个,7+8; 3个,4+5+6; 5个,1+2+3+4+5; ...... N = x*n + n*(n-1)/2,N为输入的正整数,n为个数,x为一组数中最小的的数,若x存在且为正整数,则满足; 实现代码如下: 阅读全文
posted @ 2019-06-26 22:59 mustard22 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 事件的传递和响应的区别? 事件的传递是从上到下(父控件到子控件),事件的响应是从下到上(顺着响应者链条向上传递):子控件到父控件。 如何判断上一个响应者? 如果当前这个view是控制器的view,那么控制器就是上一个响应者 如果当前这个view不是控制器的view,那么父控件就是上一个响应者 如果当 阅读全文
posted @ 2019-06-26 18:38 mustard22 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1、在文件APPDelegate.m里,实现方法“- (void)remoteControlReceivedWithEvent:(UIEvent *)event”的重写,用来接收控制中心的事件。 Appdelegate里就设置这些。 2、在音频播放界面 上面这些实现了控制中心和播放界面的交互。此时, 阅读全文
posted @ 2019-06-26 17:41 mustard22 阅读(806) 评论(0) 推荐(0) 编辑
摘要: Objective C Swift ` ` 阅读全文
posted @ 2019-06-26 17:34 mustard22 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 深拷贝(指针和指向都改变) , 浅拷贝(指针改变,指向不变) | 源对象类型 | 拷贝模式 | 目标对象类型 | 拷贝类型 | | : : | : : | : : | : : | | NSMutableString | copy | 不可变 / NSString | 深拷贝 | | NSMutabl 阅读全文
posted @ 2019-06-26 17:20 mustard22 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1.plist文件 即属性列表文件,全名是Property List,这种文件的扩展名为.plist,因此,通常被叫做plist文件。它是一种用来存储串行化后的对象的文件,用于存储程序中经常用到且数据量小而不经常改动的数据。 可以存储的类型:NSNumber,NSString,NSDate,NSDa 阅读全文
posted @ 2019-06-26 16:56 mustard22 阅读(423) 评论(0) 推荐(0) 编辑