2015-02-23 59 views
-1

我是新手对目标C和Parse.com不能添加对象与iOS SDK解析到MutableArray

我想从解析加我的字符​​串值,以我的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

您是否验证过您的if条件实际上是否为真,并且代码达到了将对象添加到数组中的点? – 2015-02-23 20:24:39

+0

是的,如果声明工作正常,我尝试了很多次。 – emresancaktar 2015-02-23 20:28:45

回答

1

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

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

+0

谢谢!是的,这是一个异步功能问题。我看不到我的表格视图中的数组项,所以我添加了[self.tableView reloadData];它现在完美的工作。谢谢 ! – emresancaktar 2015-02-23 20:49:26