首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
奋斗食饭否
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
Swift5.0 的 Runtime 机制浅析
Objective-C语言是一门以C语言为基础的面向对象编程语言,其提供的运行时(Runtime)机制使得它也可以被认为是一种动态语言。运行时的特征之一就是对象方法的调用是在程序运行时才被确定和执行的。系统提供的开放接口使得我们可以在程序运行的时候执行方法替换以便实现一些诸如系…
iOS开发·KVO用法,原理与底层实现: runtime模拟实现KVO监听机制(Blcok及Delgate方式)
1. KVO理论基础 KVO 是 Objective-C 对 观察者模式(Observer Pattern)的实现。当被观察对象的某个属性发生更改时,观察者对象会获得通知。有意思的是,你不需要给被观察的对象添加任何额外代码,就能使用 KVO 。这是怎么做到的? KVO 的实现也…
iOS底层原理总结 - RunLoop
一. RunLoop简介 运行循环,在程序运行过程中循环做一些事情,如果没有Runloop程序执行完毕就会立即退出,如果有Runloop程序会一直运行,并且时时刻刻在等待用户的输入操作。RunLoop可以在需要的时候自己跑起来运行,在没有操作的时候就停下来休息。充分节省CPU资…
一个渣硕iOS春招总结 | 掘金技术征文
地处北方一隅,今年很多公司春招没来现场,所以基本都是提前批的线上面试,整个三月都过的比较累,4月份的校招应该不参加了,还是当当咸鱼了,然后去实习了。 。。。。。 发现程序崩在一个objc_msgSend函数里面,这时候可以看的到当前正在调用哪个对象的哪个selector吗?(可…
Swift 5.1:颠覆!将你的代码减少一半
Swift 5.1增加了许多新功能,其中一些功能有望彻底改变编写和构建Swift代码的方式。那么,如何使用Swift 5.1 Property Wrappers(属性包装器)将依赖注入代码减少一半? 本文讨论了Swift Property Wrappers,并演示一种可大大简化…
iOS 13 适配要点总结
苹果在当天正式弃用 Xcode 11.2 版本,需要更新至 Xcode 11.2.1 或之后的版本进行打包提审。 所有提交到 AppStore 的新应用和应用更新必须使用 iOS 13 的 SDK 进行编译打包。并支持所有对应所有设备的屏幕尺寸,详请可见 Submit Your…
iOS 横竖屏旋转总结
以前接触到的项目需求中,几乎都是全竖屏展现界面,所以我也来得省事,直接在TARGETS中的界面方向选项中只勾选竖屏,这样就满足了需求。 从设备方向的命名就能看出来这个枚举的含义,这里指的是物理设备(即iPhone)的方向。 而界面方向指屏幕中显示内容的方向,它的方向和Home键…
iOS 查漏补缺 - LLVM & Clang
对于 iOS 开发者来说,Swift 之父 Chris Lattner 的大名应该都会有所耳闻。他和他的团队所开发的 LLVM 已经成为 iOS 乃至 macOS 整个生态中至关重要的底层基础设施。虽然 Lattner 本人已经去 Google 做人工智能了,但是对于 iOS …
iOS进阶-Runloop源码探究
这是一篇探究runloop内部原理实现的文章,不涉及具体使用。 可以看到,runloop在run起来后其实是用一个do-while循环实现的,不同的是,runloop可以做到不需要处理事务的时候就sleep,需要的时候就work。其作用总结就是: items就是事件源_sour…