簡體   English   中英

在Swift中將AnyObject添加到NSMutableArray

[英]Adding AnyObject to NSMutableArray in Swift

我只是想做Tableview搜索。 我正在使用NSPredicate進行搜索。

每個提供此代碼行的教程人員:

let resultPredicate = NSPredicate(format: "SELF contains[c] %@", searchText)
self.nameArray = self.nameArray.filteredArrayUsingPredicate(resultPredicate)

但在第二行Xcode中說: Cannot assign a value of type '[AnyObject]' to a value of type 'NSMutableArray'

我嘗試轉換,但是這次xcode建立了nil值。 我的兩個數組都是NSMutableArray 有什么建議嗎?

編輯

我的手機代碼:

let cell:ItemsTVCell = tableView.dequeueReusableCellWithIdentifier("CELL") as! ItemsTVCell

    if tableView == self.searchDisplayController?.searchResultsTableView {
        cell.itemNameLabel.text = filteredArray[indexPath.row] as? String
    } else {
        cell.itemNameLabel.text = nameArray[indexPath.row] as? String
    }

    return cell

filteredArrayUsingPredicate返回[AnyObject],看起來您的屬性為NSMutableArray類型。 您可以按照優先順序選擇幾個選項:

  • 將您的屬性更改為Swift數組(例如var nameArray: [String] ),而不是NSMutableArray。 不用使用filteredArrayUsingPredicate ,而是使用數組的filter方法:

    self.nameArray = self.nameArray.filter({contains($0.lowercaseString, searchText.lowercaseString})

  • 如果必須繼續將屬性保留為NSMutableArray,則可以使用過濾后的數組的內容創建NSArray的實例:

    NSMutableArray(array: self.nameArray.filteredArrayUsingPredicate(resultPredicate))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM