2015-04-27 48 views
-1

我最近更新了swift,并使用了一个侧栏框架。现在,当我打开它,我收到以下错误:更新swift后的问题

override init() { 
    super.init() 

} 

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

它强调在super.init()线与此错误:

property self.originView not initialized at super.init call 

,并突出了originView = sourceView

Immutable value self.originView may only be initialized once. 

我米不知道什么是错的,因为它不是我的代码,我需要它的工作。任何建议将被高度重视:)

+0

*正是*同有关的问题6小时前询问了相同的代码。 –

回答

0

在斯威夫特,你必须初始化你的财产self.originView

class MySwiftclass: NSObject { 
var originView = UIView(....) 
} 

,或者你可以写

class MySwiftclass: NSObject { 
var originView: UIView! 
} 

,或者你可以写

class MySwiftclass: NSObject { 
var originView: UIView? 
} 
+0

你真棒!谢谢!! –

+0

我会接受的答案是四分钟:) –

0

在库代码中,originView可能设置为常量(let)。将其更改为var并查看它是否有效。