我正在使用Swift进行iOS项目,并且正在尝试向我的TableViewController添加搜索栏

这是我的代码:

属性部分:

var UserNamesArray: NSMutableArray = []




var filteredUsers = [UserNamesArray]()


当我添加上一行时,它给我一个错误:实例成员'UserNamesArray'不能用于类型'MyTableVC'。

所以这就是问题,我可以代替[UserNamesArray]放什么呢?

viewDidLoad函数:

    ref.queryOrderedByChild("Job").queryEqualToValue("Programers")
        .observeEventType(.Value, withBlock: { snapshot in
            if let dict = snapshot.value as? NSMutableDictionary{
                print("dict====== \(dict)")

                for (key,value) in dict {
                    let mainDict = NSMutableDictionary()
                    mainDict.setObject(key, forKey: "userid")
                    if let dictnew = value as? NSMutableDictionary{
                        if let metname = dictnew["UserName"] as? String
                        {
                            mainDict.setObject(metname, forKey: "UserName")
                        }
                        if let metname = dictnew["Details"] as? String
                        {
                            mainDict.setObject(metname, forKey: "Details")
                        }
                        if let metname = dictnew["Email"] as? String
                        {
                            mainDict.setObject(metname, forKey: "Email")
                        }
                    }
                    print("mainDict========= \(mainDict)")

                    self.UserNamesArray.addObject(mainDict)
                }
                print("UserNamesArray ==== \(self.UserNamesArray)")
            }
            self.tableView.reloadData()

        })
}


为了清楚起见,我对变量值进行了截屏:

1)字典2)mainDict 3)UserNamesArray
Please, click here

我的表视图控制器如下所示:
Here

我试图说清楚一点,希望有人能提供帮助。
提前致谢!

最佳答案

var filteredUsers = [UserNamesArray]()不起作用,因为UserNamesArray不是有效的类型,它只是一个对象。

例如,在语法var foo = [Bar]()中,Bar是数组foo中对象的类型。

因此,如果filteredUsers用于保存String对象的数组,那么您想要的是:

var filteredUsers = [String]()

关于ios - 我的TableViewController中应该有filteredUsers的数据源是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36680540/

10-09 16:29