新闻
- App Store 充值卡已在中国面市:Apple 正式宣布 App Store 充值卡今天已在中国面市,自 1 月 16 日起,用户可通过名为App Store 充值卡的指定微信公众号选购充值卡并将其赠予亲朋好友,或通过天猫或京东上的 App Store 充值卡旗舰店进行购买。实体卡也将于 16 日起在 7-Eleven、罗森便利店、美宜佳便利店、百联集团、红旗便利店、十足便利店以及部分 Apple 优质经销商等零售商处开放购买。每张充值卡都可用于 App Store 购买或通过多种设备订阅 Apple Music。
- AirPods 畅销,迅速占据最大线上市场份额:调查机构 Slice Intelligence 的报告显示,在 AirPods 发售之后,迅速成为占据美国市场份额最大的无线耳机产品,其市场份额高达 26%,第二名 Bose 的份额为 16.1%。PS.Apple 发布 AirPods 怎么都不会掉的广告,你可以在 YouTube 中观看。
教程
- I have a pod, I have a carthage, En…:使用 Swift + CocoaPods 开发时,避免不了 clean 后,重新编译 Pods 中文件的过程,本文介绍了一种使用 CocoaPods 中
prepare_command
直接编译成 framework 的方案。 - iOS 代码设计中的开放与封闭:为什么 Swift 中存在
Optional
?我们至今所写的 iOS 代码都是遵循 OOP 这种编程范式,以对象来临摹和表达我们对于世界的理解。在设计类的时候,恪守 SOLID 五个原则会让我们的代码更易拓展和维护。SOLID 中的 O 代表的是 Open/closed principle,这篇文章所要探讨的不仅仅是类设计中的 Open 和 Closed,而是要站在更广阔的视角来看待代码中的开放与封闭。 - Swift 3 and Comparing Optionals :Swift 3 中移除了对 Optional 的比较符号,本文介绍了为什么 Swift 3 移除了这些符号以及其移除后的写法。
- KVC 和 KVO :Key-value coding (KVC) 和 key-value observing (KVO) 是两种能让我们驾驭 Objective-C 动态特性并简化代码的机制。本文介绍了一些利用这些特性的例子。
- Objective-C 中 nullable、__nullable、_Nullable 的区别:在 Swift 中,我们会使用 ? 和 ! 去显式声明一个对象或者方法的参数是 optional 还是 non-optional,而在 Objective-C 中则没有这一区分,这样就会带来一个问题:在 Swift 与 Objective-C 混编时,Swift 编译器并不知道一个 Objective-C 对象或者一个方法的参数到底是 optional 还是 non-optional,因此这种情况下编译器会隐式地都当成是 non-optional 来处理。本文介绍了 Apple 给的出的相应解决方案。
开源项目
- LLVMSwift :对 LLVM C API 封装的 Swift 框架。
- Mustard :字符串解析框架。
- Hedwig :跨平台 SMTP 邮件框架。
- JSQDataSourcesKit :更清晰地管理
UITableView
和UICollectionView
数据源框架。 - Stellar :支持链式调用的动画框架,基于
UIDynamic
。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论