微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这个语法在Swift中意味着什么?

我是 Swift的新手,并且对这种语法感到困惑.我知道当你添加()到初始化它的东西时.我仍然感到困惑,这意味着什么!我在下面添加代码.

请帮助澄清这意味着什么的括号!谢谢!

在这种情况下,在等号之后拥有所有代码意味着什么? (我知道如何创建一个变量并添加一个String,Int或类似的东西).

我只是对这段代码感到困惑.

感谢您对初学者的理解!

var viewController: ViewController = {

return self.instantiateViewControllerWithIdentifier("Play") as ViewController

}()

编辑1 –

var statusBarStyle: UIStatusBarStyle = .Default {

        didSet{

            setNeedsstatusBarappearanceUpdate()    
     }

}

解决方法

{}声明一个闭包,它是一个匿名函数. {和}之间的所有内容都是函数体.由于在提供的代码中定义的闭包没有参数,因此可以通过()作为常规函数执行. {..}()只是定义并立即执行匿名函数.

函数体中,有一个instantiateViewControllerWithIdentifier(“Play”)的调用,它返回AnyObject.由于viewController变量(var)是一种类型的ViewController,我们将InstantiateViewControllerWithIdentifier的AnyObject结果转换为ViewController

至于statusBarStyle,UIStatusBarStyle是一个枚举. .Default是enum的案例之一.它可以替换为var statusBarStyle = UIStatusBarStyle.Default. {…}中的代码是一种声明getter和setter行为的方法.在这种特殊情况下,只有一个行为didSet定义,这意味着一旦UIStatusBarStyle的值更新(这是可能的,因为它是var),调用函数setNeedsstatusBarappearanceUpdate.还有其他的吸气剂和您可以在Swift Book – https://itunes.apple.com/us/book/swift-programming-language/id881256329中阅读的setters关键字,例如get,set,willSet.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐