Как сделать свойство доступным (ненулевым) внутри метода? - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть это свойство, определенное

@property (nonatomic, strong) NSString *ObjectID;

А это мой ViewDidLoad:

- (void)viewDidLoad {
    [super viewDidLoad];

    PFQuery *getObjectIDforRow = [PFQuery queryWithClassName:@"Event"];
    [getObjectIDforRow selectKeys:@[@"objectId"]]; // We decide which fields to get
    [getObjectIDforRow whereKey:@"Organizator" notEqualTo:PFUser.currentUser.username];
    [getObjectIDforRow whereKey:@"EventLocation" equalTo:Pointfrommap];

    // This method is to get the ObjectID for the selected row
    [getObjectIDforRow findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            // We save the Object ID found in a NSString
            self.ObjectID = [NSString stringWithFormat:@"%@", [objects valueForKey:@"objectId"]];

            NSLog(@"Object ID %@", self.ObjectID);

            [self getParticipantsarray]; // Here the exception won't come, but self.ObjectID is still null


        } else {
            // Log details of the failure
            NSLog(@"Error: %@ %@", error, [error userInfo]);
        }
    }];


}

И это getParticipantsarray:

-(void)getParticipantsarray{

    NSLog(@"Object ID is %@", self.ObjectID); // ID = Gj95aETEWq

     PFQuery *getArrayParticipants = [PFQuery queryWithClassName:@"Event"];
    [getArrayParticipants selectKeys:@[@"Participants"]]; // We decide which fields to get

    [getArrayParticipants whereKey:@"ObjectId" equalTo:self.ObjectID]; // Here ObjectID is Null 
        } else {
            // Log details of the failure
            NSLog(@"Error: %@ %@", error, [error userInfo]);
        }
    }];
}

Моя проблема:

По какой-то причине я не знаю, ObjectID содержит нулевое значение внутри созданного мной getArrayParticipants PFQuery, тогда как в viewDidLoad и событии внутри метода хранится правильное значение.

Мое предположение:

Я думаю, что это как-то связано с синхронными / асинхронными потоками, как указывалось ранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...