欢迎光临
我们一直在努力

iOS

iOS底层原理 – 关联对象使用以及源码剖析

liusong阅读(6818)评论(1291)赞(3)

开篇还是放上几道面试题 Category能否添加成员变量?如果可以,如何给Category添加成员变量? 不能直接给Category添加成员变量,但是可以间接实现Category有成员变量的效果 首先大家应该都知道分类可以添加属性,但是不可...

+load方法与+initialize方法的区别

liusong阅读(621)评论(139)赞(4)

两个方法的区别 1.两个方法的调用方式 load是拿到函数地址直接进行调用 initialize是通过objc_msgSend()进行调用的 2.两个方法的调用时机 load是runtime加载类,分类的时候调用的(只调用一次) initi...

KVC内部实现原理-松哥博客

KVC内部实现原理

liusong阅读(38317)评论(5455)赞(2)

– (void)setValue:(nullable id)value forKey:(NSString *)key 调用setValue方法会按照此步骤调用 1.添加2个set方法,调用setValue方法看有没有走那两个方法...

Objc对象的销毁过程

liusong阅读(4028)评论(897)赞(3)

销毁的源头 调用-release,release会调用: uintptr_t objc_object::sidetable_release(bool performDealloc) sidetable_release(): 以下是runti...

逆向-分析别人的APP界面-松哥博客

逆向-分析别人的APP界面

liusong阅读(1568)评论(298)赞(0)

1.可以使用cycript 在cydia里安装cycript插件,用于运行时分析,修改界面。但是操作比较麻烦,所以如果只想分析别人的界面可以使用Reveal软件,如果想修改界面还是得用cycript 2.Reveal下载地址?https:/...

Auto Layout对齐矩形-松哥博客

Auto Layout对齐矩形

liusong阅读(100)评论(0)赞(0)

有的界面有多个view,垂直排列,有一定间隔,但是当中间某一个view消失时,采用普通约束就会导致,中间的间隔就变成2个间隔加一起了, 正常情况如下图: 如果简单的设置第二个label.text=nil,则出现如下情况 可能你会想到在代码里...

发布自己的pods到CocoaPods trunk 及问题记录

liusong阅读(63)评论(0)赞(0)

这两天准备把之前写的一些小玩意添加到pods库中去,参考了一些资料后进行操作,实际中也遇到了一些问题,记录下来,问题及解决方式在后面。 首先更新了用trunk之后,CocoaPods 需要0.33版本以上的,用 pod –ver...