Swift 3 var弃用了错误

时间:2016-04-04 22:42:47

标签: swift xcode7

有两个问题,第一个是黄色信息(警告):

var parameters are deprecated and will be removed in Swift3"<BR> If I fix it, the next line "searchText = ...." 

第二个带有红色信息(错误)

cannot assign to value: searchText is a let constant

以下是代码:

func filterContentForSearchText(var searchText: String, scope: NSInteger) {       
        searchText = searchText.lowercaseString;
}

2 个答案:

答案 0 :(得分:0)

在swift 3.0中,函数的变量参数将被删除。这是因为该语言的设计者认为它可能与inout变量不明确。您可以使用阴影轻松修复此问题:

func filterContentForSearchText(searchText: String, scope: NSInteger) {
    var searchText = searchText       
    searchText = searchText.lowercaseString;

这里我们将局部变量searchText指定为常量 searchText参数的值。由于阴影,局部变量是使用searchText时引用的内容。

答案 1 :(得分:-1)

试试这个:

func filterContentForSearchText(searchText: String, scope: NSInteger) {       
       var searchText = searchText.lowercaseString;