2014-11-13 2 views
0

Интересно, извлекает ли мой код массив на parse.com и правильно его добавляет к моему NSMutableArray.Сохраняет ли это объекты как массив? parse.com

В ViewdidLoad:

self.alreadySharedWith = [NSMutableArray array]; 
//detailId contains the current posts objectId. 
PFQuery *currentPostSharedWith = [PFQuery queryWithClassName:@"Posts"]; 
[currentPostSharedWith getObjectInBackgroundWithId:detailId block:^(PFObject *object, NSError *error) { 
    self.alreadySharedWith = [NSMutableArray arrayWithObjects:object[@"sharedWithUsers"], nil]; 
    NSLog(@"These are already shared: %@", self.alreadySharedWith); 
}]; 

Что это делает: Получает ObjectId все пользователя, где после текущего пользователя был предоставлен доступ. (Текущий пользователь может поделиться записью с другими пользователями)

MY NSLog показывает это:

These are already shared: ( ( Vf5zOl2DiR, LMiQK016A5, 2O906caJgJ ) )

Но когда я пытаюсь проверить, существует ли или нет Vf5zOl2DiR в моем alreadySharedWith, я не получаю никакого результата. Почему это так?

Как проверить массив для объекта.

- (void)checkArray:(id)sender{ 
if ([self.alreadySharedWith containsObject:@"Vf5zOl2DiR"]) { 
    NSLog(@"Found it!"); 
} 

} 

В моем журнале ничего не отображается.

ответ

1

Похоже, вы помещаете массив внутри массива при заполнении self.alreadySharedWith. Может быть, попробуйте изменить (в viewDidLoad)

self.alreadySharedWith = [NSMutableArray arrayWithObjects:object[@"sharedWithUsers"], nil]; 

в

self.alreadySharedWith = (NSMutableArray *)object[@"sharedWithUsers"]; 
+0

Я получаю эту ошибку: *** Нагрузочного приложения из-за неперехваченное исключение 'NSInvalidArgumentException', причина: «- [__ NSArrayM ObjectId]: непризнанный селектор отправленный экземпляру 0x7c394e40 ' – Dridia

+1

Итак, 'ужеSharedWith' содержит массив. Я думаю, вы помещаете массив внутри массива. Проверьте обновленный ответ. – rickerbh

+0

Теперь возникает новая ошибка: *** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [__ NSCFString objectId]: нераспознанный селектор отправлен в экземпляр 0x787b86d0' – Dridia