IP属地:江苏
Ivar包含了objc_property_t; 声明“xxx”的objc_property_t属性之后,编译器会自动生成相对应的以“_xxx”为...
method_exchangeImplementations(Method m1,Method m2) { if(!m1 || !m2)re...
notification的方法响应线程取决于发送notification的线程。在子线程发送通知,响应方法的线程就是子线程,跟监听通知的线程没有关系
1. 当程序启动的时候会执行load方法,当类第一次执行方法(类方法和实例方法)时会调用initialize方法,eg:在load里进行方法替换...
详细请看此处的解答
一般展示数据的页面都有一个上拉加载更多的功能,当请求下来的数据添加到数据源之后,我们需要进行刷新界面,这时如果使用reloadData会比较消耗...
当我们已经上线了一个稳定的版本,代码在master主干上面,后续我们要开发新的功能会创建一个Dev的分支,在这个分支上进行新功能的开发,我们还要...
当我们在git上初始化项目时,都会忽略一些不必要的文件,比如pods库。在开发过程中可能我们创建了自己的私有库,或者修改了三方库,这时我们需要自...
dispatch_semaphore_t可以阻塞线程 dispatch_semaphore_t的使用场景:有三个界面A、B、C,A界面上有一个按...