3 回答
TA貢獻(xiàn)1862條經(jīng)驗 獲得超6個贊
您是否嘗試分配給新的變量
public func getQuestionList(language: String) -> NSArray {
var lang = language
if self.data.count > 0 {
if (lang.isEmpty) {
lang = "NL"
}
return self.data.objectForKey("questionList" + lang) as! NSArray
}
return NSArray()
}
TA貢獻(xiàn)1836條經(jīng)驗 獲得超13個贊
從函數(shù)參數(shù)中刪除Var的討論已在GitHub上的此提交中完整記錄:Remove Var Parameters
在該文檔中,您會發(fā)現(xiàn)人們經(jīng)常將var參數(shù)與inout參數(shù)混淆。甲var參數(shù)僅僅意味著所述參數(shù)是所述函數(shù)的范圍內(nèi)可變的,同時用inout參數(shù)在返回點的參數(shù)值將在功能并進(jìn)入調(diào)用者的上下文被復(fù)制出來。
解決此問題的正確方法是var從參數(shù)中刪除并引入局部var變量。在例程的頂部,將參數(shù)的值復(fù)制到該變量中。
TA貢獻(xiàn)1757條經(jīng)驗 獲得超8個贊
只需在函數(shù)的開頭添加這一行:
var language = language
其他代碼可以保持不變,如下所示:
public func getQuestionList(language: String) -> NSArray {
var language = language
if self.data.count > 0 {
if (language.isEmpty) {
language = "NL"
}
return self.data.objectForKey("questionList" + language) as! NSArray
}
return NSArray()
}
- 3 回答
- 0 關(guān)注
- 646 瀏覽
添加回答
舉報
