我是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 = (
)
它是空的......
有什么问题?这是一个错误还是什么?
非常感谢!
答案 0 :(得分:1)
所以问题是你甚至在返回之前记录异步函数的结果。从解析加载对象是异步完成的,因此如果在调用NSLog(@"%@", yourArray)
后直接执行[self getObjectsFromParseOnline:@"OqfFYACIpr"]
,则您记录的数组将为空,因为网络请求可能尚未完成。
如果你将NSLog移到getObjectInBackgroundWithId:
的回调中,它应该没问题。