Получение Parse PFUser: реляционные данные

У меня есть класс Parse "Сообщения". «Сообщения» имеют столбец «пользователь», в котором хранится пользователь, опубликовавший сообщение. Он имеет тип Pointer‹_User>.

Я хочу иметь возможность получить пользователя, а затем получить изображение, хранящееся в классе User.

Пока у меня есть:

PFQuery *postQuery = [PFQuery queryWithClassName:@"Post"];
[postQuery includeKey:@"user"];
PFObject *result = [postQuery getFirstObject];

if (result) {
    NSLog(@"successful query"); //Successful!
} else {
    NSLog(@"unsuccessful query");
}

PFUser *user = result[@"user"];
if (user) {
    NSLog(@"successful found user");
} else {
    NSLog(@"unsuccessful found user"); //Not successful
}

Я успешно получаю «результат», но я не «пользователь». Что мне не хватает?


person sailor    schedule 11.07.2014    source источник
comment
Пост или посты? пустой набор результатов все равно будет успешным запросом.   -  person Fosco    schedule 11.07.2014
comment
Сообщение. Используя findObjectsInBackgroundWithBlock, я подтвердил, что запрос действительно возвращает несколько объектов, и набор не пуст.   -  person sailor    schedule 11.07.2014
comment
выйдите из системы весь результат .. что в пользователе?   -  person Fosco    schedule 11.07.2014
comment
Если я NSLog(@%@, [user username]);, журнал читается (null).   -  person sailor    schedule 11.07.2014
comment
У этого парня, кажется, была та же проблема - parse.com/questions/ реляционный-запрос-из-пользовательского-класса   -  person sailor    schedule 11.07.2014
comment
Однако я могу успешно получить всю другую информацию из результата (сообщения), например, заголовок, сообщение и т. Д.   -  person sailor    schedule 11.07.2014
comment
извините, я имел в виду журнал "результат"   -  person Fosco    schedule 11.07.2014
comment
{ ACL = ‹PFACL: 0x15e1bf70›; изображение = ‹PFFile: 0x15e4f8e0›; местоположение = @lavics; locationCoordinates = ‹PFGeoPoint: 0x15e4f8c0›; сообщение = ..; thumbnail = ‹PFFile: 0x15e4f270›; }   -  person sailor    schedule 11.07.2014
comment
Когда я закомментирую includeKey, он также содержит строку: user = ‹PFUser:sfAfp7FP1A›;   -  person sailor    schedule 11.07.2014
comment
Итак, проверьте этот идентификатор объекта пользователя... может быть, он недействителен?   -  person Fosco    schedule 11.07.2014
comment
Ты сделал это. Спасибо. Указатель был на пользователя, которого больше не существует.   -  person sailor    schedule 11.07.2014


Ответы (1)


В этом случае указанный объект User был удален. Если включен столбец указателя и он разрешается в несуществующий объект, это не приведет к сбою, но объект также не будет извлечен/включен. Вероятно, вы можете обнаружить этот сценарий после запроса с includeKey, проверив поле createdAt.

person Fosco    schedule 11.07.2014