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 阻塞式调用和非阻塞式调用 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。 阻塞式调用: 调用结果返回之前...
iOS网络缓存扫盲篇 --使用两行代码就能完成80%的缓存需求 下篇预告:使用80%的代码来完成剩下的20%的缓存需求 。敬请 star (右上角)持续关注。 目录 当我们在...
http 是应用层协议,主要解决如何包装数据。 TCP/UDP是传输层协议,主要解决数据如何在网络中传输。 Socket:是在应用层和传输层之间的一个抽象层,它把TCP/IP...
layoutSubviews调用时机: 1、addSubview(当view的size为0的时候,addSubview也不会调用layoutSubviews。当要给这个vie...
WK的cookie的应用 NSHTTPCookieName:表示cookie的名字,通常标识客户端请求中的cookie,也用于后续客户端和服务器交互时访问该cookie NS...
五、APP生命周期 APP有5种状态,分别是:1、Not running未运行:app没启动或被迫终止。2、Inactive未激活:当前应用正在前台运行,但是并不接收事件(当...
1,内存分布在哪几个区,哪些区地址是怎么分布的 iOS内存的五大区域 :栈区(stack):存放函数参数值、局部变量的值, 0X7开头;堆区(heap):以0x6开头;全局区...
1.如何理解RunLoop Runloop(运行循环)是iOS和macOS中的一个核心概念,它负责管理事件和计时器,以确保应用程序能够在正确的时间响应用户的输入,并在不占用过...
iOS与Flutter相互通信 iOS项目加入Flutter 接着上一篇继续,在原有iOS项目中加入Flutter后,就需要考虑如何通过原生跳转到flutter,如何原生与f...
用Flutter这样的跨平台技术进行商业级项目开发时,几乎不可避免的需要和Native进行通信,比如不同平台的底层服务如电量变化、网络连接变化、陀螺仪、传感器等等都有各自...
OC和SwiftProtocol的共同点 本质都是抽取不同类的共同方法和属性(声明),供遵循协议的类或对象使用。 都可以通过定义协议实例deleagate,来实现委托代理模式...