2014-09-23 19 views
0

我打电话从我的iOS应用程序内的解析函数返回的解析功能,这是它返回:如何访问阵列中的价值正在从iOS应用

(
    "<matchCenterItem: 0x7fbc6b648620, objectId: EixWxvd0kg, localId: (null)> {\n categoryId = 171485;\n itemCondition = New;\n itemLocation = US;\n maxPrice = 200;\n minPrice = 150;\n parent = \"<PFUser: 0x7fbc6b6526a0, objectId: kfEHfG4FUD>\";\n searchTerm = \"nexus 7 16gb\";\n}", 
    "<matchCenterItem: 0x7fbc6b652dd0, objectId: Je1VxP7dPw, localId: (null)> {\n categoryId = 9355;\n itemCondition = Used;\n itemLocation = US;\n maxPrice = 350;\n minPrice = 250;\n parent = \"<PFUser: 0x7fbc6b652ca0, objectId: kfEHfG4FUD>\";\n searchTerm = \"iphone 5 unlocked\";\n}" 
) 

的格式有点奇怪,而且我不习惯。我想要做的是让我的表中的每个单元格使用这个数组中的相应searchTerm值作为其标题,但我不确定如何正确引用该值。

这里是函数本身的调用:

- (void)viewDidAppear:(BOOL)animated 
{ 
    self.mcSettingsArray = [[NSArray alloc] init]; 

    // Disable ability to scroll until table is MatchCenter table is done loading 
    self.mcSettingsTable.scrollEnabled = NO; 

    [PFCloud callFunctionInBackground:@"mcSettings" 
         withParameters:@{} 
           block:^(NSArray *result, NSError *error) { 

            if (!error) { 
             _mcSettingsArray = result; 
             [_mcSettingsTable reloadData]; 
             self.mcSettingsTable.scrollEnabled = YES; 
             NSLog(@"Result: '%@'", result); 
            } 
           }]; 

} 

我已经试过这样的事情:

cell.textLabel.text = _mcSettingsArray[indexPath.row][@"matchCenterItem"][@"searchTerm"]; 

,但它崩溃的应用程序,并告诉我,[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'

回答

1

确保mcSettingsArray被宣布为强。确保numberOfRowsInSection数据源方法返回self.mcSettingsArray.count。 cellForRowAtIndexPath中的代码应如下所示:

PFObject *item = self.mcSettingsArray[indexPath.row]; 
NSString *searchTerm = item[@"searchTerm"]; 
cell.textLabel.text = searchTerm;