摘要:
iOS APP上架审核比较严格! 这里整理了iOS上架需要注意的事项,上架前尽量避免,争取一次提交审核成功,被拒打回重新修改提交审核会耗费很多时间! 1、应用内包含检查更新功能iOS 应用的版本更新必须通过 App Store 进行,自身 App 内不能包含提示更新功能。从2015年3月起,所有包含 阅读全文
摘要:
当对象引用计数为0时,运行时会调用_objc_rootDealloc,实现如下: - (void)dealloc { _objc_rootDealloc(self); } _objc_rootDealloc(id obj) { assert(obj); obj->rootDealloc(); } i 阅读全文
摘要:
静态扫描的原理 在iOS编译的产物 Mach-o文件中 __DATA __objc_classrefs 段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。 (PS:静态类获取的类会有误 阅读全文
摘要:
layoutSubviews继承于UIView的子类重写,进行布局更新,刷新视图。如果某个视图自身的bounds或者子视图的bounds发生改变,那么这个方法会在当前runloop结束的时候被调用。为什么不是立即调用呢?因为渲染毕竟比较消耗性能,特别是视图层级复杂的时候。这种机制下任何UI控件布局上 阅读全文
摘要:
1、获取当前所展示的控制器: //需要获取到显示在最上面的viewController - (UIViewController *)theTopviewControler{ //获取根控制器 UIViewController *rootVC = [[UIApplication sharedAppli 阅读全文
摘要:
FPS监控:因为iOS设备屏幕的刷新时间是60次/秒,一次刷新就是一次VSync信号,时间间隔是1000ms/60 = 16.67ms,所有如果咋16.67ms内下一帧数据没有准备好,就会产生掉帧 RunLoop监控:通过子线程检测主线程的RunLoop的状态,kCFRunLoopBeforeSou 阅读全文
摘要:
1.swift是静态语言,有类型推断,OC是动态语言。 2.swift面向协议编程,OC面向对象编程 3.swift注重值类型,OC注重引用类型。 4.swift支持泛型,OC只支持轻量泛型 5.swift支持静态派发(效率高)、动态派发(函数表派发、消息派发)方式,OC支持动态派发(消息派发)方式 阅读全文
摘要:
同步 异步 表示开辟新线程的能力 异步 可以开辟新线程同步 不可以 串行并行 表示队列调度任务的能力 串行 前一个任务执行完毕才能调度下一个任务并行 前一个任务一旦执行,就可以调度下一个任务 异步 + 串行 可以开辟新线程,但是任务只能一个一个取,所以没必要开辟新线程 结果:单线程 异步 + 并行 阅读全文
摘要:
死锁发生的条件 互斥条件:就是一个资源只能有一个进程占有,不可以被两个或者多个进程占有 不可剥夺条件:进程已经获得的资源在未使用完之前,不可以被抢占,只能在使用完之后自己释放 请求与保持条件:进程自己已经至少保持一个资源,又请求其他资源,但是这个资源被其他进程占有,而且又不释放自己已经占有的资源 环 阅读全文
摘要:
需求 在 ViewController ,点击按钮跳向 A2ViewController ,并传参 name=我 (正向传值) 在 A2ViewController ,点击屏幕,跳回 ViewController ,并传参 city=北京 (反向传值) 基于CTMediator的组件化方案,有哪些核 阅读全文