swift - Swift 编译器什么时候会将变量推断为隐式展开的可选值?

标签 swift

什么时候 Swift 编译器会将变量推断为隐式展开的可选值?或者变量必须始终用 !就这样对待它?

最佳答案

类型推断发生在编译时。将变量推断为隐式解包可选的唯一方法是为其分配一个变量(直接分配,或通过分配函数的返回值,该函数返回隐式解包可选)。

基本上,变量的“可选性”是其类型的一部分。以下变量的类型 xy隐式展开的 Optional Int(对于两者),最重要的是,类型系统不会将其视为与 Int“相同的类型”。 (尽管您可以将它与 Int 互换使用,只要它不是 nil)

let x: Int! = 7

fund make_y() -> Int! {
  return 7
}

let y = make_y()

关于swift - Swift 编译器什么时候会将变量推断为隐式展开的可选值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386493/

相关文章:

用于返回接收者类型(符合协议(protocol))的协议(protocol)的 Swift 二元运算符

swift - 带有 NodeJs 的 IBM Bluemix 对象存储服务的临时公共(public) URL

iphone - 在 UIButton 中针对不同的文本大小设置图像对齐方式

ios - 使用手势从 TableView 切换到另一个 Tableview

ios - 使用共享的 iOS Keychain 启用跨应用程序 Firebase 身份验证

ios - UISearchBar 清除按钮颜色变化

ios - 搜索结果的 3d Peek & Pop

ios - 如何在swift中根据标签高度制作可伸缩图像

swift - Sprite Kit - 如何通过单击图像使 Sprite 跳跃

ios - SceneKit SCNAction.run 和旋转不起作用