User类中的变量作为字符串。使用这个变量作为PFQuery的键,并使用它来筛选出没有它的用户。我需要跳过没有它的人,并将有它的人添加到VC显示中。这是我迄今为止的代码:在存储变量的VC中,我有:
var genreSearch: NSString?
查看后DidLoad在一个单元格中我有:
let genreSearch = table_data[indexPath.row]
userDefaults.setObject(genreSearch, forKey: "genre")
print(genreSearch)`
然后在调用查询的VC上,我有:
if let genreSearch = userDefaults.objectForKey("genre") as? [String] {
// do something here when a genresearch exists
let genreQuery = PFUser.query()
genreQuery!.whereKey("genre", containedIn: (genreSearch as [String]))
genreQuery!.findObjectsInBackgroundWithBlock { (users: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// success
for user in users! {
self.appUsers.append(user as! PFUser)
} // users
self.resultsPageTableView.reloadData()
} // error
else {
}
}
}
如果有任何帮助,我将不胜感激。我已经被困在这个genreSearch查询上好几个星期了!!!
这里还有我在VC2上的代码,它正在更新单元格中的用户信息:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let singleCell: CustomCell = tableView.dequeueReusableCellWithIdentifier("mySingleCellid") as! CustomCell
let userObject = appUsers[indexPath.row] as PFObject
singleCell.userName.text = userObject["name"] as? String
所以我已经编辑了我的代码,因为我发现了被调用的错误*我可以打开VC,但它不会过滤掉结果?它显示所有用户,而不是跳过没有选择流派的用户。有什么想法吗*
如果您试图对parse提供的User表进行查询,则应使用而不是let genreQuery = PFQuery(className: "_User")
let genreQuery = PFUser.query()
终于弄清楚了为什么它没有过滤掉我的用户!!!
在存储变量的VC上,我错过了类上方的一条重要线:
var genreSearch: String?
let userDefaults = NSUserDefaults.standardUserDefaults() //this one
然后在结果VC中,我添加了:
if let genre = userDefaults.stringForKey("genre") //this line
{
print(genre)
let genreQuery = PFUser.query()
genreQuery?.whereKey("username",notEqualTo:PFUser.currentUser()!.username!)
genreQuery!.whereKey("genre", equalTo: genre)
genreQuery!.findObjectsInBackgroundWithBlock { (genres: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// success
self.appUsers.removeAll()
for genre in genres! {
self.appUsers.append(genre as! PFUser)
} // users
}
self.resultsPageTableView.reloadData()
self.refresher.endRefreshing()
} // error
我想它只是没有保存或使用VC1上的userDefaults做任何事情,我一定错过了一步!!!