インスタンス変数配列があります:
@interface ChannelsVC ()
{
NSArray *arrayofFrequencies;
}
}
@end
@implementation ChannelsVC
......
「viewDidLoad」で割り当てを行いました
arrayofFrequencies=[[NSArray alloc]init];
次に、JSON データ ソースから配列にデータを挿入します。
-(void)GetFrequencies{
NSString *urla=@"http://xxxxxxxx";
NSString *uria = [urla stringByAppendingString:self.lien_satellite];
NSURL *urlFrequencies= [ NSURL URLWithString:uria];
NSLog(@"Frequencies URI: %@",uria); //correct URI
NSURLRequest *request = [NSURLRequest requestWithURL:urlFrequencies];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
arrayofFrequencies=[JSON valueForKeyPath:@"frequency"];
NSLog(@"Frequencies count: %lu", (unsigned long)[arrayofFrequencies count]);//the count here is correct, I have data in the array
} failure:nil];
[operation start];
}
問題は、セクション数が '[arrayofFrequencies count];' である UITableView を作成したい場合、常に '0' を返すことです! これはインスタンス変数であり、「GetFrequency」関数の外ではゼロを返しています。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSLog(@"number of sections %ld",(long)[arrayofFrequencies count]); // always returns 0
return [arrayofFrequencies count];
}
私は何か間違ったことをしていますか?
助けてくれてありがとう。
コンソール出力:
013-06-25 12:58:00.163 Frequencies[840:c07] number of sections 0
2013-06-25 12:58:00.165 Frequencies[840:c07] number of sections 0
2013-06-25 12:58:00.641 Frequencies[840:c07] Frequencies count: 4