属性'self。*'未在super.init调用中初始化 [英] Property 'self.*' not initialized at super.init call

查看:120
本文介绍了属性'self。*'未在super.init调用中初始化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚将我的xcode更新为6.3.1。问题是我从swift 1.2获得了这个奇怪的错误消息。我收到了这种错误消息

I just updated my xcode to 6.3.1. The problem is I got this weird error message since swift 1.2. I got this kind of error message

/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

请咨询。谢谢。

推荐答案

你必须在调用 super.init 在任何初始化方法中

You have to initialize all property before you call super.init in any init method

因此,在调用super.init()之前更改此信息

So,change this before you call super.init()

originView = sourceView //error here

异常:


  1. 可选属性

  2. 属性,默认值

  3. lazy property

这篇关于属性'self。*'未在super.init调用中初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆