2019年3月27日

method 详解

摘要: 转自:https://www.jianshu.com/p/d8889f83842f 定义 先来看一下method相关的定义 typedef struct objc_method *Method; struct objc_method { SEL method_name; char *method_t 阅读全文

posted @ 2019-03-27 16:25 鬼手渔翁 阅读(400) 评论(0) 推荐(0)

Runtime实用(3)-如何自己动手实现 KVO

摘要: 转自:https://tech.glowing.com/cn/implement-kvo/ 本文是 Objective-C Runtime 系列文章的第三篇。如果你对 Objective-C Runtime 还不是很了解,可以先去看看前两篇文章: 本篇会探究 KVO (Key-Value Obser 阅读全文

posted @ 2019-03-27 16:24 鬼手渔翁 阅读(203) 评论(0) 推荐(0)

Runtime实用(2)-Method Swizzling 和 AOP 实践

摘要: 上一篇介绍了 Objective-C Messaging。利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method 阅读全文

posted @ 2019-03-27 16:22 鬼手渔翁 阅读(126) 评论(0) 推荐(0)

Runtime实用(1)-Objective-C Runtime

摘要: 转自:https://tech.glowing.com/cn/objective-c-runtime/ Objective-C Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库 阅读全文

posted @ 2019-03-27 16:21 鬼手渔翁 阅读(106) 评论(0) 推荐(0)

iOS中关键字copy与mutableCopy的详解,看我你就都懂了

摘要: 转自:https://www.jianshu.com/p/700f58eb0b86 相信对于有一定iOS开发经验的同学来说,对于copy关键字一定不陌生,从字义上来看,应该就是复制一个对象,然后我们对于NSString类型的属性,一般也用copy关键字。但是大家对于copy关键字真正有什么具体了解呢 阅读全文

posted @ 2019-03-27 16:19 鬼手渔翁 阅读(369) 评论(0) 推荐(0)

OC对象中copy和mutableCopy方法详解

摘要: 转自:https://www.jianshu.com/p/fa0698b95274 前段时间,看到在知识小集的交流群里正在讨论 copy 和 mutableCopy 这两个方法的相关特性。而这两个方法的使用,对于 Collection 来说,确实在运行的时候会有些不一样。主要还是为了记录一下,避免以 阅读全文

posted @ 2019-03-27 11:08 鬼手渔翁 阅读(248) 评论(0) 推荐(0)

Object-C高级编程读书笔记(5)——Block的对象类型截取

摘要: 转自:https://blog.csdn.net/u013378438/article/details/51019969 在之前的博客中,我们探讨了Block对于普通类型数据的截取,其实现很简单,就是在Block对象中保存一份值拷贝。 那么,对于OC中的对象类型(包括系统自带类型NSArray,NS 阅读全文

posted @ 2019-03-27 11:06 鬼手渔翁 阅读(104) 评论(0) 推荐(0)

Object-C高级编程读书笔记(4)——__block说明符

摘要: 转自:https://blog.csdn.net/u013378438/article/details/50866267 在上一篇中了解了 在Block中,外部传入的变量是如何被保存在Block对象中的。通过对其实现本质的了解,可以知道对于Block对象中的值拷贝,改变其值,并不能改变Block外部 阅读全文

posted @ 2019-03-27 11:05 鬼手渔翁 阅读(132) 评论(0) 推荐(0)

Object-C高级编程读书笔记(3)——Block的变量截取

摘要: 转自:https://blog.csdn.net/u013378438/article/details/50839006 之前我们对于Block的定义为 “带有自动变量值的匿名函数”。通过前面的介绍,知道了Block能够保持传入其中的变量的值,即使在Block外部这些传入的值已经结束了其作用域,但是 阅读全文

posted @ 2019-03-27 11:04 鬼手渔翁 阅读(100) 评论(0) 推荐(0)

Object-C高级编程读书笔记(2)——Block的实质

摘要: 转自:https://blog.csdn.net/u013378438/article/details/50831104 按照OC高级编程书中所说,所谓Block实质就是Object-C对象。 如何理解这句话呢?应该从OC的类对象所拥有的特征入手,如果Block同样拥有这些特征,那么Block当然也 阅读全文

posted @ 2019-03-27 10:23 鬼手渔翁 阅读(77) 评论(0) 推荐(0)

Object-C高级编程读书笔记(1)——Block的基本概念

摘要: 转自:https://blog.csdn.net/u013378438/article/details/50823104 在OC中,引入了Block的概念,同时也有很多具体的应用。其功能类似于C语言中的函数指针,可将函数作为变量保存,传递,执行。 Block的声明方式<span style="fon 阅读全文

posted @ 2019-03-27 10:19 鬼手渔翁 阅读(106) 评论(0) 推荐(0)

【iOS内存管理】weak指针的原理

摘要: 转自:https://www.jianshu.com/p/ae7ba150c5c6 1、__strong、__weak、__unsafe_unretained的比较 -(void)viewDidLoad { // 强引用 ,离开打印 @“end” 后的大括号才销毁 __strong Person * 阅读全文

posted @ 2019-03-27 10:17 鬼手渔翁 阅读(492) 评论(0) 推荐(0)

iOS的内存管理

摘要: 转自:https://www.jianshu.com/p/4c6672fe8604 1.iOS内存管理区域分为以下5个区域: 栈区,堆区,静态区,常量区在内存分布中以由高地址向低地址分布的. (1).栈区(stack):它是有编译器自动分配和管理的,存放局部变量,函数的参数值. (2).堆区:由程序 阅读全文

posted @ 2019-03-27 10:15 鬼手渔翁 阅读(126) 评论(0) 推荐(0)

导航