工欲善其事必先利其器下面介绍一些快捷键1、有时候想从.m文件切换到.h文件,一般操作是按着command键,点击类名,然后点击Jump To Definition,如下图: ...
工欲善其事必先利其器下面介绍一些快捷键1、有时候想从.m文件切换到.h文件,一般操作是按着command键,点击类名,然后点击Jump To Definition,如下图: ...
升级为暗黑模式(macOS Mojave)后,Xcode无法运行之前的项目,报错找不到libstdc++6.0,在网上找了半天发现都不对,只有这个兄弟写的靠谱。链接放在这里,...
开篇之前大家先思考这两个问题 Category的实现原理?Category和Extension的区别是什么?Class Extension在编译的时候,它的数据就已经包含在类...
卧槽,太牛了,完爆那些面试官👍
+load方法与+initialize方法的区别两个方法的区别 1.两个方法的调用方式 load是拿到函数地址直接进行调用initialize是通过objc_msgSend()进行调用的 2.两个方法的调用时机 load是...
牛逼
class和superclass源码(runtime源码里有) Foundation框架里NSObject框架里的有些基础方法是开源的,objc4源码链接 https:/...
单例,singleton Instance, 特点:全局里独一无二的,只有一个实例,只初始化一次; 一般是两种写法,一个是GCD的写法,一个是普通的加锁的写法; GCD写法 ...
在cell里不能用self.contentView的宽高,要用屏幕的UIScreen.main.bounds.width,
最近用Swift写项目,发现标记不知道咋用了,记下来,省的忘了。 // 标记都要大写字母加冒号 // MARK: TV DataSource(普通标记,相当于OC的#p...
Masonryde 的优点很多,就不多说了,但是在我刚开始使用的时候出现过一些问题,在这里写出来,防止忘记. 第一个就是一定要添加到view上,就是先使用addSubview...