filterUsers的数据源应该在我的TableViewController中?

时间:2016-04-17 18:32:24

标签: ios swift uitableview

我正在使用 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)dict 2)mainDict 3)UserNamesArray Please, click here

我的表视图控制器的样子: Here

我试图说清楚,因为我可以希望有人可以提供帮助。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

因此,如果filteredUsers意图保存一组String个对象,那么你想要的是:

var filteredUsers = [String]()