2015-05-19 2 views
3

У меня есть Parse.com класс под названием Сообщения, где у меня есть 3 колонки:Pointer поле toUser требуется значение указателя Parse.com

- fromUser - Pointer<_User> 
- toUser - Pointer<_User> 
- image - File 

В моей UITableView Я пытаюсь получить все объекты в сообщениях -class, где toUser равно PUUser currentUser. Я получаю эту ошибку, когда я делаю запрос:

UserInfo=0x1702e3580 {code=102, temporary=0, error=pointer field toUser needs a pointer value, originalError=Error Domain=NSURLErrorDomain Code=-1011 "The operation couldn’t be completed. (NSURLErrorDomain error -1011.)"} { 
    code = 102; 
    error = "pointer field toUser needs a pointer value"; 
    originalError = "Error Domain=NSURLErrorDomain Code=-1011 \"The operation couldn\U2019t be completed. (NSURLErrorDomain error -1011.)\""; 
    temporary = 0; 
} 

Вот как я делаю запрос:

- (void)retriveMessages { 
    PFQuery *query = [PFQuery queryWithClassName:@"Messages"]; 
    [query whereKey:@"toUser" equalTo:[[PFUser currentUser] objectId]]; 
    [query orderByDescending:@"createdAt"]; 
    query.limit = 1000; 
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 
     if (error) { 
      NSLog(@"Error: %@ %@", error, error.userInfo); 
     } else { 
      // Found messages! 
      self.messages = objects; 
      [self.tableView reloadData]; 
      NSLog(@"%@", objects); 
     } 
    }]; 
} 

ответ

3

Это распространенная ошибка путать ObjectIds с указателями. Изменение equalTo: тест:

[query whereKey:@"toUser" equalTo:[PFUser currentUser]]; 

EDIT В JS/Cloud код, он работает точно так же:

var someParseObject = // probably from another query 
query.equalTo("somePointerAttribute", someParseObject); 

// in cloud functions with a request parameter, the requesting user is available 
query.equalTo("pointerToAUserAttribute", request.user); 
+0

Спасибо человек! Он отлично работал :) – tracifycray

+1

Как насчет того, если мы не ищем пользователя? –

+0

Второй аргумент equalTo при сравнении указателя col представляет собой PFObject. PFUser является подклассом. – danh

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