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 关注
- 579 浏览
添加回答
举报