Combine 与响应式编程
Jul 16, 2022
什么是响应式编程? 简单的理解就是:仅当事件发生以后才响应处理。 c <= a + b + c... 以上表达式中,c 是响应处理的逻辑,a, b, c 这些都是事件,当它们发…
C++ 实现一个 AutoLayout 的 DSL
May 18, 2022
DSL 全称是 Domain-Specific Language,叫作领域专用语言。用于解决特定问题而提出的编程语言。比如 CSS 就是解决网页中布局问题而产生的 DSL。 自动布局(Aut…
iOS 15 开启更快的 ProMotion 刷新率
Sep 28, 2021
iPhone 13 Pro 系列支持最高 120Hz 的动态刷新率,App 需要主动适配才能使用动态刷新率。 在 Info.plist 里加上: <key>CADisableMinimumFrameDurationOnPhone</key><true/> 参考资料 Optimizing ProMotion Refresh Rates for iPhone 13 Pro and iPad Pro
通过后缀名查询 MIME 类型
Mar 07, 2021
MIME type (现在称为“媒体类型(media type)”,但有时也是“内容类型(content type)”)是指示文件类型的字符串,与文件一起发送(…
iOS:禁用快捷指令的通知
Feb 09, 2021
进入系统设置,打开“屏幕使用时间”: 点击“查看所有活动” 滑动到最下面的“通知”分类,找到“快捷指令”,点击进入通知设置页面
iOS Simulators
Feb 02, 2021
iOS Simulators How to install Download iOS simulator dmg Copy to ~/Library/Caches/com.apple.dt.Xcode/Downloads/ Click download button in Xcode Components Simulators iOS 14.3 Simulator iOS 14.2 Simulator iOS 14.1 Simulator iOS 14.0 Simulator iOS 13.7 Simulator iOS 13.6 Simulator iOS 13.5 Simulator iOS 13.4 Simulator iOS 13.3 Simulator iOS 13.2 Simulator iOS 13.1 Simulator iOS 13.0 Simulator iOS 12.4 Simulator iOS 12.2 Simulator iOS 12.1 Simulator iOS 12.0 Simulator iOS 11.4 Simulator…
优雅的使用 Iconfont
Jan 11, 2021
Iconfont 就是把矢量图作为字体,可以很方便的在 App 里显示图标。拥有体积小加载速度快的优点。 推荐两个生成 Iconfont 的网站: 国外的 fontello 国内的 iconfont Fontello 没有自己的资源库,网…
*** -[UIKeyboardLayoutStar release]: message sent to deallocated instance
Aug 29, 2020
项目里使用了 Swizzlling Method 黑魔法来防止 NSArray 越界之类的崩溃。 App 在使用键盘时切换到后台,就会触发一个非法访问的崩溃: *** -[UIKeyboardLayoutStar release]: message sent to deallocated instance ... 去掉黑魔法造成的风险太…
NS_ASSUME_NONNULL_BEGIN & NS_ASSUME_NONNULL_END
Aug 29, 2020
ObjC 里一切都是对象指针,对象之前传值是传指针引用。 Swift 里一切都是对象,参数传递分为值引用和对象引用。 在 ObjC 的方法里,可以判断传进来的指针是否为 ni…
实现一个线程安全的缓存库
Aug 25, 2020
最近做了一个基于 LRU 策略的缓存 ZLRUCache,自己玩着感觉还可以。 …