2015-06-10 5 views
0

user Я интегрирую Parse в свое приложение и на этом этапе у меня включена функция входа в систему. Теперь я пытаюсь понять/узнать, как я создаю и подключаю объекты в другом классе, уникальном для текущего зарегистрированного пользователя, и как извлекать эти объекты.Как получить объект Parse, созданный пользователем

Так что мне нужна помощь, чтобы понять это. Я нашел this question, и это то же самое, чего я хочу достичь, но я не могу понять «соединение», так сказать, и если мне нужно добавить параметры в свой класс User и/или мой класс Object, из которого я хочу получить.

Итак, для простоты предположим, что я вошел в систему с моим пользователем с уникальным objectId, который был создан для класса Parse User. Затем, когда я вошел в Я делаю это:

PFObject *list = [PFObject objectWithClassName:@"Lists"]; 
    list[@"name"] = @"My list"; 

    [list saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
     if (succeeded) { 
      // The object has been saved. 
      NSLog(@"Success"); 
     } else { 
      // There was a problem, check error.description 
      NSLog(@"Fail"); 
     } 
    }]; 

Список создается и хранится в моем классе List на моем Разбор счета для приложения. Теперь, если допустим, что я выхожу из системы, а затем снова с пользователем, создавшим этот список, как я могу получить этот уникальный список для этого пользователя?

В вопросе (связанный ранее) это предлагается и помечено как работа:

PFQuery *innerQuery = [PFQuery queryWithClassName:@"User"]; 
[innerQuery whereKey:@"userType" equalTo:@"X"]; // fix with your real user type 

PFQuery *query = [PFQuery queryWithClassName:@"Post"]; 
[query whereKey:@"user" matchesQuery:innerQuery]; 
[query findObjectsInBackgroundWithBlock:^(NSArray *posts, NSError *error) { 
    // posts are posts where post.user.userType == X 
}]; 

В этом примере, что такое @"userType", @"X" и @"user"? Может ли кто-нибудь объяснить, чтобы я так зависел от «потока» или связи между запросами. Поэтому я могу реализовать те функции, которые мне нужны.

ответ

2

Прежде чем вы сможете сделать запрос к анализу и получить информацию о пользователе, вам необходимо сохранить некоторые. это делается путем создания PFObject с некоторыми связанными с ним свойствами. После сохранения вы можете получить эту информацию. Вот пример, когда вы создаете объект User, который действует как родительский объект в избранное.

PFObject *user = [PFObject objectWithClassName:@"User"]; 
[user saveEventually]; 

PFObject *favorite = [PFObject objectWithClassName:@"Favorites"]; 
favorite[@"numberOfFavorites"] = @(10); 
favorite.ACL = [PFACL ACLWithUser:[PFUser currentUser]]; 
favorite[@"parent"] = user; 

[favorite saveEventually]; 

После сохранения вы можете получить объекты снова для данного пользователя:

PFQuery *query = [PFQuery queryWithClassName:@"User"]; 
PFQuery *innerQuery = [PFQuery queryWithClassName:@"Favorites"]; 
[innerQuery whereKey:@"parent" matchesQuery:query]; 

[[[innerQuery findObjectsInBackground] continueWithBlock:^id(BFTask *task) { 
    if (task.error){ 
     return nil; 
    } 
}]; 

Анализировать очень good documentation and examples, которые могут помочь вам в этом. Надеюсь это поможет. T

+0

В каком типе вы устанавливаете родительский элемент в основной части класса в Parse @Trond Kristiansen? Это объект, строка или что это такое? – Oskariagon

+0

Вы добавляете новый пользовательский класс в Parse Core –

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