super.init调用未初始化属性“ self*”

问题描述

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

因此,在调用super.init()之前先进行更改

originView = sourceView //error here

例外:

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

解决方法

我刚刚将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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...