Swift 5 和 Xcode 10.2 发布
General
Swift 5 支持命令行工具包了
App Thinning (App瘦身)
Swift制作的App体积过大,一直是众多OC开发者指摘Swift的槽点,看来这次苹果是下决心进行改善了。
抛弃标准库轻装前行
在iOS12.2,watchOS 5.2和tvOS12.2版本上运行的Swift程序可以不再包含Swift standard library了。也就是说如果您更新到最新版系统,那么新更新app体积可能会小很多。
语言新特性
告别烦人的斜杠转移,轻松使用双引号
字符串处理是编程的基础,我们经常会遇到一个字符串需要包含“”号,传统的方式就是young斜杠进行转移。在新语法中可以通过使用#号来解决这个问题
// 新用法
print(#"<a href="\#(url)" title="Apple Developer">"#)
// 之前的写法
print("<a href=\"\(url)\" title=\"Apple Developer\">")
重名问题用户优先
加入您定义了一个类型和标注库重名了,在调用时用你的还是用标准库呢?现在都可以用,优先用你的,如果需要标准库在类型前面加个Swift前缀即可
// 您闲得没事定义了Result类型
public enum Result<T> {
case value(T)
case error(Error)
}
//然后又到处import这个类型包
import Foo
func doSomething() -> Result<Int> { /* … */ }
运行时默认使用Foo.Result 而不是苹果给您提供的标准库
//我又想用Swift的标准库了,该怎么办?
import Foo
func useStandardLibraryResult() -> Swift.Result<Int, Error> { /* … */ }
//添加个Swift前缀吧,骚年
网友评论