Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将一个NSMutablearray添加到另一个空NSMutablearray?_Ios_Swift_Nsmutablearray_Uisearchbar_Nsmutabledictionary - Fatal编程技术网

Ios 如何将一个NSMutablearray添加到另一个空NSMutablearray?

Ios 如何将一个NSMutablearray添加到另一个空NSMutablearray?,ios,swift,nsmutablearray,uisearchbar,nsmutabledictionary,Ios,Swift,Nsmutablearray,Uisearchbar,Nsmutabledictionary,我正在使用NSMutableDictionary将数据存储到键值对中,并将这些字典附加到NSMutableArray。我想将筛选后的NSMutableArray分配给另一个空NSMutableArray,但无法获得结果,应用程序正在搜索某些文本时崩溃 这是我的密码: extension ViewController: UISearchBarDelegate, UISearchDisplayDelegate { func searchBar(_ searchBar: UISearchBar, te

我正在使用NSMutableDictionary将数据存储到键值对中,并将这些字典附加到NSMutableArray。我想将筛选后的NSMutableArray分配给另一个空NSMutableArray,但无法获得结果,应用程序正在搜索某些文本时崩溃

这是我的密码:

extension ViewController: UISearchBarDelegate, UISearchDisplayDelegate
{
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)
{
    let searchPredicate = NSPredicate(format: "SELF CONTAINS[c] %@", searchText)
    let result = ArrData.filtered(using: searchPredicate)
    searchCoin.add(result)
    searchActive = true
    self.tableView.reloadData()
}
}
坠机事件是:


只需将代码从

 let dict = self.filteredArray.object(at: IndexPath.row) as! NSMutableDictionary 


如果您想要更多-编写ArrData的类型,filteredArray-如何创建和使用它

将代码和错误添加为文本。这将有助于回答问题。在这种情况下,为什么需要
NSMutableDictionary
?正如@Dilan提到的,您必须将代码作为纯文本包含,这样搜索引擎就可以找到。你确定数组的每个索引上都有字典吗?异常消息告诉你数组包含空数组,而不是可变字典。您基本上不应该在swift中使用
NS
类型。使用正确类型的Swift集合,您将在编译时捕获类似的错误。
 let dictOptional = self.filteredArray.object(at: IndexPath.row) as? NSMutableDictionary
 guard let dict = dictOptional else {
      print("Error at: \(IndexPath.row) - can't convert to dictionary")
 }