2012-04-30 7 views
0

У меня есть UTableView сгруппированы. Я хочу разбить свои данные на группы категорий. У меня есть переменная экземпляра, которая содержит все группы в моей базе данных.Не удается получить доступ к переменной экземпляра

@interface TableViewController : UITableViewController { 

    // Response from server 
    NSString* serverResponse; 
    NSMutableArray *categories;  // This NSMutableArray contains all category's server  
} 

@property (strong) NSString *serverResponse; 
@property (strong) NSMutableArray *categories; 

Я наполняю свою NSMutableArray с requestFinished методом (где все работает отлично)

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    NSString *result = request.responseString; 

    NSArray *jsonArray = (NSArray*)[result JSONValue]; 

    int count = [jsonArray count]; 
    int i; 
    NSDictionary *jsonDict = [[NSDictionary alloc] init]; 

    for (i = 0; i < count; i++) { 
     jsonDict = [jsonArray objectAtIndex:i]; 
     NSString *current = [jsonDict objectForKey:@"categoriy"]; 

     [categories addObject:current]; 
     NSLog(@"%d", [categories count]) // Shows 4 -> ok ! 
    } 
} 

Но когда я называю его в этом методе:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    NSLog(@"%d", [categories count]) // Show 0 -> bad ! 
    return [categories count]; 
} 

Он показывает на Consol " 0 "!

Я действительно не понимаю, почему!

Возможно, кто-то может помочь мне в этом?

ответ

0

Проблема может заключаться в том, что вызывается numberOfSectionsInTableView: до того, как вызывается requestFinished:.

Я думаю, вам нужно перезагрузить табличное представление.

Попробуйте положить [self.tableView reloadData], или что-то в этом роде, в конце requestFinished:.

+0

Отлично, спасибо вам обоим! :) – Edelweiss

Смежные вопросы