无法使用iOS Parse SDK向MutableArray添加对象

时间:2015-02-23 20:21:52

标签: ios objective-c object parse-platform nsmutablearray

我是Objective C和Parse.com的新手

我想将我的字符串值从parse添加到我的NSMutableArray.But我无法添加我的代码。

-(void)getObjectsFromParseOnline: (NSString *)objectID {

    PFQuery *query = [PFQuery queryWithClassName:@"Veterinerler"];
    [query getObjectInBackgroundWithId:objectID block:^(PFObject *vet, NSError *error) {

        if ([vet[@"isMember"]isEqualToString:@"YES"]) {

            [veterinerAdi addObject:vet[@"adi"]];
            [veterinerAdres addObject:vet[@"adres"]];
            [veterinerTel addObject:vet[@"telefon"]];
            [veterinerWeb addObject:vet[@"web"]];
            [veterinerFace addObject:vet[@"face"]];
            [veterinerLat addObject:vet[@"latitude"]];
            [veterinerLong addObject:vet[@"longitude"]];
            [geceAcik addObject:vet[@"geceAcik"]];

            [vet pinInBackground];
        }
    }];
}

我从viewDidLoad方法中调用此方法。

veterinerAdi = [[NSMutableArray alloc]init];
veterinerAdres = [[NSMutableArray alloc]init];
veterinerTel = [[NSMutableArray alloc]init];
veterinerWeb = [[NSMutableArray alloc]init];
veterinerFace = [[NSMutableArray alloc]init];
veterinerLat = [[NSMutableArray alloc]init];
veterinerLong = [[NSMutableArray alloc]init];
geceAcik = [[NSMutableArray alloc]init];

 [self getObjectsFromParseOnline:@"OqfFYACIpr"];

2015-02-23 22:18:35.489 VetMapp[4345:172731] THIS IS THE NSLOG RESULTS = (
)

它是空的......

有什么问题?这是一个错误还是什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

所以问题是你甚至在返回之前记录异步函数的结果。从解析加载对象是异步完成的,因此如果在调用NSLog(@"%@", yourArray)后直接执行[self getObjectsFromParseOnline:@"OqfFYACIpr"],则您记录的数组将为空,因为网络请求可能尚未完成。

如果你将NSLog移到getObjectInBackgroundWithId:的回调中,它应该没问题。