
iOS Runtime
cym_bj
相信你能你就无所不能
展开
-
iOS Runtime《二》 分类Category 相关
1、给分类绑定对象objc_AssociationPolicy 是一个枚举,里面的枚举值分别代表要添加的属性的修饰类型。1、 OBJC_ASSOCIATION_ASSIGN 相当于weak2 、OBJC_ASSOCIATION_RETAIN_NONATOMIC 相当于strong和nonatomic3、 OBJ...原创 2019-03-12 11:07:00 · 567 阅读 · 0 评论 -
iOS Runtime《一》 类Class 相关
Runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC语言,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明:1、在编译阶段,OC可以调用任何函数,即使用这个函数并未实现,只要声明过就不...原创 2019-03-08 16:39:18 · 494 阅读 · 0 评论 -
iOS Runtime《三》Method 和 SEL
1、objc_method_description 结构体struct objc_method_description { SEL _Nullable name; /**< The name of the method */ char * _Nullable types; /**< The types of the ...原创 2019-03-13 13:52:01 · 480 阅读 · 0 评论 -
iOS Runtime《四》Ivar
一、Ivar可以理解为类中的一个变量,主要作用是用来保存数据的。1、Ivar 的类型typedef struct objc_ivar *Ivar;struct objc_ivar { char * _Nullable ivar_name OBJC2_UNAVAILABLE; char * _Nullable...原创 2019-03-29 16:32:20 · 467 阅读 · 0 评论 -
iOS ——UIButton之防止重复点击
一、当通过点击按钮来执行网络请求时,若请求耗时稍长,用户往往会再点一次。这样,就执行了两次请求,造成了资源浪费。通过Runtime控制UIButton响应事件的时间间隔。1、创建UIButton的分类.h#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface UIButton (YMEventInterva...原创 2019-03-28 14:01:40 · 629 阅读 · 0 评论 -
iOS Runtime《五》objc_property or objc_property_t (属性)
属性应该是我们最熟悉的了,相当于给实例变量加了修饰符,自动生成set和get方法,用起来很方便。 runtime里面关于属性的结构体是objc_property或者objc_property_t objc_property_t是系统文件~objc/runtime.h下的一个结构体,功能是将两个对象的所有属性动态的取出,并绑定值,关于objc_property_t的常...原创 2019-04-09 15:21:14 · 1334 阅读 · 0 评论