2012-04-30 164 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]; 
} 

它显示了康寿“ 0“!

我真的不明白为什么!

也许有人可以帮助我呢?

回答

0

问题可能是在调用requestFinished:之前调用numberOfSectionsInTableView:

我认为你必须重新加载tableview。

试着把[self.tableView reloadData],或类似的东西,在requestFinished:的末尾。

+0

完美,谢谢你们两位! :) – Edelweiss