BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

iOS 开发周报:Apple 确认 iOS 10 Beta Kernel 未加密并非疏漏,iOS 10 中 UIViewPropertyAnimator 的使用示例

| 作者 王巍 关注 0 他的粉丝 发布于 2016年6月28日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

新闻

  1. Apple 确认 iOS 10 Beta Kernel 未加密并非疏漏:本周,有开发者发现Apple 提供的 iOS 10 Beta 版本的 Kernel 部分没有进行加密,这和以往 iOS 系统的情况并不相同。未加密的 Kernel 将会使开发者和研究人员更容易明白 iPhone 的软件和硬件到底是如何进行交互的,也将导致漏洞更容易被发现。本周 Apple 确认 iOS 10 Beta 中未加密的 Kernel 是有意为之,这样 Apple 将可以借助研究者的力量提供更安全的系统。
  2. Thunderbolt 显示器产品线将不再继续:Thunderbolt Display 是 Apple 的大屏显示器产品,不过该产品线最后一次更新已经是 2011 年的事情了。在当今 iMac 一体机的显示器已经适配 4K 和 5K 分辨率的当下,可以说这款显示器已经无人问津。Apple 也不打算再继续更新这条产品线,本周 Apple 正式宣布了不再继续出品新的显示器产品。

教程

  1. 为什么objc_msgSend必须用汇编实现:我们知道,在 Objective-C 中对于方法的调用最终会被转换为 `objc_msgSend` 的函数调用,而 `objc_msgSend` 是使用汇编实现的。不过,使用汇编的目的不仅仅是为了更好的性能,这篇文章为我们介绍了 `objc_msgSend` 实现的一些细节和它背后的考虑。
  2. UICollectionView: Unjustly Maligned:`UICollectionView` 是从 iOS 6 开始引入的用 Grid 来显示数据的一种 view。除了 Apple 提供的默认的 `UICollectionViewFlowLayout` 以外,开发者也可是实现自己的 layout 来进行各种各样的视图布局。`UICollectionView` 可能一直以来都被开发者和设计师忽视,很多时候我们会简单地使用 Table View 来展示数据。然而,为了灵活性和可扩展的考虑,无论何时你都应该优先考虑 `UICollectionView`。本文为我们展示了 `UICollectionView` 的强大之处,以及可以通过自定义 layout 所实现的一些漂亮的效果。
  3. What’s New in Swift 3?:因为 Swift 3 是开源开发的,所以新版本中的变化大家都已经基本知道了。不过这篇文章还是对 Swift 3 的变化进行了很好的总结,如果你有项目需要从 Swift 2 迁移到 Swift 3 的话,读一读本文将会很有帮助。

开源项目

  1. Save the Dot:在 iOS 10 中 Apple 引入了 `UIViewPropertyAnimator`,它可以用来控制交互式的 `UIView` 属性动画。这个项目通过 `UIViewPropertyAnimator` 实现了一个通过 UIView 动画构成的小游戏。
  2. Potatso-iOS:通过 iOS 9 Network Extension 构建的网络代理应用,可以监视和调试通过设备的网络请求。作为一个完整的 app,项目里对于各类第三方框架的使用,Model 的组织方式,以及网络部分的处理都十分值得学习。
  3. Cartography:一个 Swift 的使用代码书写 AutoLayout 的框架。因为需要考虑到满足所有可能的需求,所以 Apple 自己的 AutoLayout 相关 API 相对起来使用比较麻烦,于是出现了不少对于原来 AutoLayout API 的封装,Cartography 就是其中之一。
  4. Preheat:iOS 10 中 Apple 为 `UITableView` 和 `UICollectionView` 添加了预先获取 cell 的特性,这样在展示 cell 时我们可以在实际展示之前就提前对 cell 进行加载和布局。Preheat 和这个作用类似,它将在合适的时候询问 delegate 并让你提供机会进行提前处理。你可以将这个框架和一些图片加载的框架一起使用,在实际展示前就完成图片下载。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT