Xcode11.4 Swift和SwiftUI新增的功能

Xcode 11.4 正式版终于发布了,新版本带来了很多的提升,同时也是引入了一些新的bug。为了方便大家解决问题,我计划将语法方面的问题汇总到一篇文章中,方便大家查阅。

新属性

  • 类型检查现在更加精确。在许多情况下,与Xcode 11.3.1相比,此精度可使Xcode 11.4中大文件的代码完成速度提高1.2到1.6倍。

  • 现在,隐含成员的代码完成功能可用于不完整的字典文字和不完整的三元表达式。

  • 代码完成结果改善了类型信息。结果将在可能的情况下显示不透明的结果类型(例如某些视图),并保留类型别名。结果将不再显示不必要的父类型。例如

import SwiftUI
struct MyModifier: ViewModifier {
    body
}

当在MyModifier中完成body时,Xcode 11.4将提供body(content:Content)->some View。

  • 编译器现在支持本地函数,其默认参数从外部作用域捕获值
func outer(x: Int) -> (Int, Int) {
    func inner(y: Int = x) -> Int {
        return y
    }
    
    return (inner(), inner(y: 0))
}

  • 您可以调用声明 func callAsFunction 方法(如函数)的类型的值。调用语法是应用 func callAs函数方法的速记:
struct Adder {
    var base: Int

    func callAsFunction(_ x: Int) -> Int {
      return x + base
    }
}

var adder = Adder(base: 3)
adder(10) // returns 13, same as adder.callAsFunction(10)
  • 下标现在可以声明默认参数。
struct Subscriptable {
    subscript(x: Int, y: Int = 0) {
      ...
    }
}

let s = Subscriptable()
print(s[0])

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

  • 请关注我的专栏icloudend, SwiftUI教程与源码
    https://www.jianshu.com/c/7b3e3b671970

你可能感兴趣的:(Xcode11.4 Swift和SwiftUI新增的功能)