2015-11-08 1 views
0

Переменная в классе пользователя как строка. Используя эту переменную в качестве ключа для PFQuery и используйте ее для фильтрации пользователей, которые ее не имеют. Мне нужно пропустить пользователей, у которых их нет, и добавить пользователей, которые делают это на дисплее VC. Вот мой код до сих пор: В ВК, где хранится переменная у меня есть:Использование переменной в качестве ключа для PFQuery для фильтрации пользователей. Swift Запрос пользователя

var genreSearch: NSString? 

после viewDidLoad в клетке у меня есть:

let genreSearch = table_data[indexPath.row] 

    userDefaults.setObject(genreSearch, forKey: "genre") 
    print(genreSearch)` 

Тогда на ВК, где запрос является называется у меня есть:

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, но он не отфильтрует результаты? Он отображает всех пользователей, а не пропускает пользователей, у которых нет выбранного жанра. Есть идеи??? *

ответ

0

Наконец понял, почему это не отфильтровывая моих пользователей !!!

На VC, где переменная хранилась я пропускал важную строку выше класса:

var genreSearch: String? 

let userDefaults = NSUserDefaults.standardUserDefaults() //this one 

Тогда в ResultsVC я добавил:

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 

Я думаю, что это просто не было сохраняя или делая что-либо с userDefaults на VC1, я, должно быть, пропустил шаг!

1

Если вы пытаетесь сделать запрос на столе пользователя, обеспечиваемой разборе, вы должны использовать вместо let genreQuery = PFQuery(className: "_User")

let genreQuery = PFUser.query() 
+0

Ya Я пробовал так, и он возвращает те же результаты, извините, что я должен был упомянуть об этом в моем вопросе. – Grace

Смежные вопросы