猿问

'var'参数已弃用,将在Swift 3中删除

好吧,所以我只是将Xcode更新到7.3,现在我收到以下警告:


'var'参数已弃用,将在Swift 3中删除


当我需要在此函数中使用var时如何解决此问题:


public func getQuestionList(var language: String) -> NSArray {

    if self.data.count > 0 {

        if (language.isEmpty) {

            language = "NL"

        }

        return self.data.objectForKey("questionList" + language) as! NSArray

    }


    return NSArray()

}


MM们
浏览 580回答 3
3回答

阿波罗的战车

您是否尝试分配给新的变量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()}

开心每一天1111

从函数参数中删除Var的讨论已在GitHub上的此提交中完整记录:Remove Var Parameters在该文档中,您会发现人们经常将var参数与inout参数混淆。甲var参数仅仅意味着所述参数是所述函数的范围内可变的,同时用inout参数在返回点的参数值将在功能并进入调用者的上下文被复制出来。解决此问题的正确方法是var从参数中删除并引入局部var变量。在例程的顶部,将参数的值复制到该变量中。

陪伴而非守候

只需在函数的开头添加这一行: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()}
随时随地看视频慕课网APP
我要回答