2015-02-23 16 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