我在我的Xcode項目中創建了一個變量。無法爲AnyObject類型調用初始化程序?沒有參數
var user = AnyObject?()
這行代碼作爲錯誤返回。錯誤消息說
無法爲類型'AnyObject?'調用初始值設定項?沒有論據
爲什麼我收到這個錯誤,我該如何解決它?
我在我的Xcode項目中創建了一個變量。無法爲AnyObject類型調用初始化程序?沒有參數
var user = AnyObject?()
這行代碼作爲錯誤返回。錯誤消息說
無法爲類型'AnyObject?'調用初始值設定項?沒有論據
爲什麼我收到這個錯誤,我該如何解決它?
在Swift 2中,'Optional'確實有一個'init()',它創建了一個設置爲'.None'的新實例 - 但是在Swift 3中,this初始化程序已被刪除。相當於簡單的'var user:AnyObject?' - 雖然這是所有[在我提出的愚人問答中提到](http://stackoverflow.com/questions/39549717/what-happened-to-the-uiview-constructor-在-迅速-3-0)。 – Hamish
如果你真的試圖定義AnyObject?
類型的變量,你想放的空Optional<AnyObject>
裏面,你可以簡單地寫
var user: AnyObject? = .none
或由@Hamish
建議var user: AnyObject?
(Mutable)optionals默認值爲'.none' :) – Hamish
@Hamish:謝謝! –
'AnyObject'是一個協議。你不能創建一個'AnyObject'的實例。 – rmaddy
@rmaddy但'AnyObject?'* *是一個具體類型(即'Optional'),您可以創建一個實例;)(不再使用'init()',因爲OP在此嘗試執行) –
Hamish
'var user = AnyObject?.self as Any ... ... –