【发布时间】:2014-09-29 13:32:39
【问题描述】:
我正在学习 Swift 并在第一个 XCode Beta 上开发我的测试项目,但几天前我下载了 XCode Beta4,但在构建中显示错误。
我的代码:
class LoginModalViewController: UIViewController {
@IBOutlet var usernameField : UITextField
@IBOutlet var passwordField : UITextField
@IBOutlet var loginButton : UIButton
...
以前我是这样在控制器中定义插座的,但在新的测试版中,它给了我一个错误IBOutlet property has non-optional type UITextField,并建议我通过两种方式修复它:
- 在每个变量后添加
! - 在每个变量后添加
?
我知道? 表示可选,如果我选择它,那么我需要将usernameField.becomeFirstResponder() 之类的代码更新为usernameField!.becomeFirstResponder()
添加! 完美解决错误..
据我所知,在类中创建属性只有这两种方法,对吗?
查找此类 Swift 语法语言更新的更新日志会很方便。
【问题讨论】:
-
阅读 Beta5 发布文档。 “UIView、NSView、UIFont 和 UIApplicationDelegate 类已针对可选一致性进行了审核,从它们的接口中删除了大多数隐式展开的可选选项。这阐明了它们的属性和参数/方法的返回值的可空性。Beta 5 中的更改很简单第一步;SDK 的更多改进将在未来的 beta 版本中推出。(17892713)!我怀疑这也包括他们的子类。
-
@Zaph 你能看看这个 - stackoverflow.com/questions/25164313/… 吗?也打破了新的测试版..
-
我不使用 Swift 编写代码,也无意这样做。我正在学习该语言并阅读发行说明。
标签: ios xcode swift var iboutlet