3 回答

TA貢獻1862條經驗 獲得超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貢獻1836條經驗 獲得超13個贊
從函數參數中刪除Var的討論已在GitHub上的此提交中完整記錄:Remove Var Parameters
在該文檔中,您會發現人們經常將var參數與inout參數混淆。甲var參數僅僅意味著所述參數是所述函數的范圍內可變的,同時用inout參數在返回點的參數值將在功能并進入調用者的上下文被復制出來。
解決此問題的正確方法是var從參數中刪除并引入局部var變量。在例程的頂部,將參數的值復制到該變量中。

TA貢獻1757條經驗 獲得超8個贊
只需在函數的開頭添加這一行:
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 關注
- 620 瀏覽
添加回答
舉報