2015-08-24 42 views
0

我一直都在打造Xcode和凸狀部來了產生它斯威夫特錯誤「無法爲‘==’接受找到超載......」

if (err == nil && token != nil) { 
    ... 
} 

的ERR是let err: NSError?類型和令牌是var token = body as! NSString

這似乎是導致該錯誤的第一條件。任何幫助或建議都會很棒。

+2

'err'和'token'的類型是什麼?我猜想其中一個或兩個都不是可選的。 – ABakerSmith

+0

我haver更新了這個問題,看起來像err是可選的 –

回答

2

您的問題是,token不是可選的,因爲您使用的是as!

擺脫強制類型轉換來解決這個問題,使token可選的太多:

let token = body as? NSString 

順便說一句,你不需要周圍的狀況的支架,你可以寫這樣的:

if err == nil && token != nil { 

} 
0

有一個類似的問題,我定義了一個int,如果用戶輸入一個數字,它會存儲它。我有一個情況,如果用戶沒有輸入....如果(數字==零),我有同樣的問題。因爲我將它定義爲一個int,所以它不想讓它爲空,所以我將int轉換爲一個字符串,並且它工作正常。

所以也許找到你定義「err」和「token」的位置,看看是否有必要進行轉換。 var stringError = err並強制使用!或者投射爲字符串(err)。