写点什么

Swift 2.0 中字符串设计的背后思想 - iOS 移动开发周报

  • 2015-07-28
  • 本文字数:1728 字

    阅读完需:约 6 分钟

新闻

  1. Apple 公布第三财季公报:iPhone 的销量持续增长,在 2015 年第三财季,Apple 共售出了 4750 万部 iPhone 手机。在 Apple Watch,Mac 和 App Store 的协力下,本季度 Apple 同比完成了 33% 的利润增长,相较去年同期的增长率而言稳中有升。但是一个很明显的现象是 iPad 的销售并不如人意,这大概是因为大屏 iPhone 面世所造成的手机和 iPad mini 使用情景上有一些重叠的结果。值得一提的是,除了美国本土外,全球市场的销售利润占了 Apple 本财季 64% 的额度,其中在大中华区的利润增长率更是达到了惊人的 112%,已经成为 Apple 增长的最主要驱动力。
  2. iOS 9 和 OSX EI Capitan Public Beta 第二版发布:从去年开始 Apple 就开放了所谓的 public beta,允许一般用户使用和帮助测试最新的 beta 软件。相比于 developer beta,public beta 的测试版本更加稳定,之后也可以直接升级到正式版本。喜欢尝鲜但是又不需要为新版 OSX 系统做开发的朋友可以尝试一下。

教程

  1. 《Strings in Swift 2》:一篇来自官方的 Swift 博客,为我们讲述了新版本中 String 类型的设计思想的变化理由。对字符串的处理在各个语言中都是有很多细节需要注意的。在 Objective-C 里由于一些历史原因,NSString 其实是有很多不足的。Swift 1 中的 String可以说是真正有机会抛开原来的历史包袱,而现在借着 Swift 2 中 protocol extension 的引入,String 也有了更好的实现方式。相信通过阅读这篇文章你能对字符串有更好地理解。
  2. 《后台定位上传的代码实践》:这篇文章为我们讲述了一些在后台定位用户位置以及上传位置信息的一些实践。文章总结了和比较了几种可能的实现方式和对应的 API 使用方法,虽然这个需求在一些基于位置推荐的 app 中是挺常见的,但是其实现在还并没有非常稳定和可靠的方法来做这件事情,测试和检证也相对比较困难,希望这篇文章能够为你在实现类似功能时提供一些思路。
  3. 《Changes to the Swift standard library in 2.0 betas 2…<5》:文章总结了 Swift 2.0 从 beta 2 到 5 的所有改动。虽然在 API 层面上可能看不出来,WWDC 上也并没有提及,但是很多语言的实现细节都发生了改变。很多内部类型的命名发生了改变,如果你有心仔细研究的话,会发现 Swift 语言设计上的一些考量。另外,因为 Swift 即将开源,如果你有心想读一读 Swift 的源码的话,也应该尽快熟悉这些思想和内部的类型,应该会对理解 Swift 非常有帮助。

开源项目

  1. RazzleDazzle :如果你用过 IFTTT 的 app 的话,应该会注意到它们的 app 的初始引导页面制作非常精美。之前 IFTTT 开源过一个 Objective-C 的基于帧动画的 scroll view 的框架 JazzHands ,这次的 RazzleDazzle 是由 JazzHands 为基础使用 Swift 改写的项目。相比于 JazzHands,这个框架的接口更易于理解和使用,我们可以通过更多的行为描述而非过程描述来构建漂亮的 scroll view 动画。
  2. jot :IFTTT 最近开源的另一个质量很高的项目。使用触屏随意绘画并且使画出的曲线平滑是一件很有讲究的事情,虽然看上去不难,但是一旦你实际动手做的话就会知道其中暗藏玄机。这个框架为我们提供了一个成熟的触屏绘画和操作内容的解决方案,非常适合用来制作一些像图片标注这样的 app。
  3. ResponseDetective :app 开发中难免会与网络请求打交道,在调试 app 的网络部分时,我们往往会使用一些工具来截取发出的请求和收到的响应的内容。像是 Charles 或是 Paw 这样的 Mac app 就是这类工具的代表。而现在 ResponseDetective 采用
  4. SignalKit :一个 Swift 的 binding 框架,例如可以将 model 类型的属性绑定给 UI 元素,或者将一个按钮的点击事件绑定到一段代码上。通过这种对数据流或者事件流的监测和绑定,你可以用更为描述性的语言来书写代码,这会使代码逻辑更清晰,代码本身更简洁。框架的思想类似于 ReactiveCocoa,但是显然要轻量级得多。如果你想开始尝试一下信号驱动的响应式编程,又不太确定自己是否能够驾驭 ReactiveCocoa 的话,这个框架会是你入门的好选择。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-07-28 03:563986
用户头像

发布了 59 篇内容, 共 24.1 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

值得买商品详情API响应数据解析

tbapi

值得买 值得买商品详情API 值得买数据接口

EventBridge 生态实践:融合 SLS 构建一体化日志服务

Apache RocketMQ

云原生 事件总线 EventBridge sls

2025大模型应用平台选型指南:从个人助手到企业级智能体

测试人

瑞士开源大语言模型今夏发布

qife122

大语言模型 多语言处理

哈尔滨三级等保测评技术要求:从主机安全到应用安全的全面防护

等保测评

Building An Elastic Query Engine on Disaggregated Storage

数新网络官方账号

解析 RocketMQ 业务消息--顺序消息

Apache RocketMQ

RocketMQ 云原生 消息队列 消息集成 mq消息集成

RocketMQ 消息集成:多类型业务消息——定时消息

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列 定时消息

泄漏检测与修复综合管理系统(源码+文档+讲解+演示)

深圳亥时科技

小红书笔记详情API响应数据解析

tbapi

小红书 小红书笔记详情接口 小红书API 小红书数据采集

用过这么多方案,远程访问还是贝锐花生壳内网穿透最靠谱

科技热闻

监督学习与无监督学习:机器学习技术对比与应用实例

qife122

机器学习 监督学习

CGDC|网易伏羲揭秘AI Agent等技术驱动游戏玩法革新,重塑交互与内容生态

网易伏羲

人工智能 ChinaJoy 网易伏羲 游戏AI

高防IP:数字化时代企业网络安全的核心盾牌

德迅云安全杨德俊

解析 RocketMQ 业务消息——事务消息

Apache RocketMQ

RocketMQ 云原生 消息队列 事务消息

我试用了5款文本配音工具后的真实感受

石臻臻的杂货铺

AI TTS 文本转语音

“同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?

poemyang

编译原理 Java虚拟机 #java 解释器

哪些企业需要私有化部署?有没有推荐的私有化im

BeeWorks

即时通讯 IM 私有化部署

私有化部署即时通讯,企业专属通讯系统BeeWorks

BeeWorks

即时通讯 IM 私有化部署

阿里云基于全新 RocketMQ 5.0 内核的落地实践

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

2025 China Joy,Affinity以广告科技解锁开发者与出海企业的共同增长

科技热闻

解析 RocketMQ 多样消费功能-消息过滤

Apache RocketMQ

阿里云 云原生 消息队列 消息过滤

RocketMQ 5.0 API 与 SDK 的演进

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

Web3 项目外包开发的类型

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

CST补丁安装教程-CST Studio Suite 2022 SP4 补丁包

思茂信息

cst CST软件 CST Studio Suite

大数据-59 Kafka 拦截器全解析:原理、拦截链机制与自定义实现实战

武子康

Java 大数据 kafka 分布式 消息队列

区块链U卡APP外包开发的费用

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

RocketMQ 客户端负载均衡机制详解及最佳实践

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

RocketMQ 重试机制详解及最佳实践

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

Apache RocketMQ 在阿里云大规模商业化实践之路

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

Wire,一个神奇的Go依赖注入神器!

左诗右码

Swift 2.0 中字符串设计的背后思想 - iOS移动开发周报_移动_王巍_InfoQ精选文章