Swift 3 var 弃用错误

Swift 3 var deprecated error

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

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;
}

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

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

这里我们分配一个局部变量searchText作为常量searchText参数的值。由于隐藏局部变量是使用 searchText 时引用的内容。

试试这个:

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