ios - 属性 'self.*' 未在 super.init 调用时初始化

标签 ios swift xcode6.3.1

我刚刚将我的 xcode 更新到 6.3.1。问题是我从 Swift 1.2 开始收到这个奇怪的错误消息。我收到了这种错误信息

/Users/MNurdin/Documents/iOS/xxxxx/Library/SideBar.swift:32:15: Property 'self.originView' not initialized at super.init call

/Users/MNurdin/Documents/iOS/xxxxx/Library/SideBar.swift:38:20: Immutable value 'self.originView' may only be initialized once

关于这段代码

let originView:UIView?

override init() {
        super.init() //error here

    }

    init(sourceView:UIView, menuItems:Array<String>){
        super.init() //error here
        originView = sourceView //error here

最佳答案

在任何 init 方法中调用 super.init 之前必须初始化所有属性

所以,在调用 super.init() 之前更改它

originView = sourceView //error here

异常(exception):

  1. 可选属性
  2. 具有默认值的属性
  3. 惰性属性

关于ios - 属性 'self.*' 未在 super.init 调用时初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29890510/

相关文章:

ios - TableView 文本标签高度根据内容

ios - iOS 8.4 设备出现开发人员磁盘镜像无法安装错误 - 不合格设备部分

ios - 调用 WatchKit 中的设置表

ios - 如何使用 UIAutomation 测试是否从我的应用程序打开了链接?

ios - 带有大标题的应用程序在滚动时抖动

ios - 在 Objective-C iOS 中将内容上传到 FTP

swift - AVSpeechUtterance:如何获取随机数组并使用特定语音?

ios - 有没有办法显示整个模拟器屏幕?

ios - 如何快速返回带有参数的先前 View Controller

ios - swift : TIC SSL Trust Error on loading self signed url in WebView