extension 在编译期决定,它就是类的一部分,在编译期和头文件里的 @interface 以及实现文件里的 @implement 一起形成一个完整的类,它伴随类的产生而...
extension 在编译期决定,它就是类的一部分,在编译期和头文件里的 @interface 以及实现文件里的 @implement 一起形成一个完整的类,它伴随类的产生而...
AppDelegate的作用 AppDelegate是一个用于管理应用共享行为的对象。它继承了UIResponder类,实现了UIApplicationDelegate代理协...
近期整理的iOS面试题。不定期更新中。如有问题,欢迎斧正。 派发 Swift 有三种派发方式 1静态派发 2消息派发(动态派发) 3函数表派发 OC 只有消息派发(动态派发)...
NSTimer和CADisplayLink都需要添加到Runloop才能正常运作, 但是都会引起循环引用 上图表明了循环引用的原因以及使用NSProxy解决循环引用的原理 解...
NSTimer的循环引用和Block循环引用有什么区别? 对于block型的循环引用,我们可以通过weakSelf来解决(点击了解block循环引用) ,但是对于timer...
Swift 中的 Runloop 可以用来检测卡顿,通过监视主线程的 Runloop,可以在 Runloop 处理事件时检测是否超时,从而判断是否出现了卡顿。以下是一个简单的...
卡顿主要表现为主线程卡死, 不响应用户操作或响应很慢, 这种体验很差, 会让用户对产品的好感地急速下滑, 如果不及时优化, 最终会导致用户流失 哪些情况会导致主线程卡顿呢? ...
附上我的swfit项目, 项目里面有整个swift应用使用框架, 网络请求框架, DSBridge原生与H5交互的用法, 反射知识的使用, WCDB数据库的封装使用, Web...
1. 基本概念 1.1 Dart是单线程的 1.2 阻塞式调用和非阻塞式调用 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。 阻塞式调用: 调用结果返回之前...