2015-04-27 78 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並查看它是否有效。