私のヘッダーファイル:
@interface HTMLClassesViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate>
だから私はとを宣言しましdataSource
たdelegate
。
私の実装ファイルでは:
- (void)viewDidLoad {
[super viewDidLoad];
if (self.arrayOfClasses == nil) {
self.arrayOfClasses = [[NSMutableArray alloc] init];
}
NSMutableArray *array = [[NSMutableArray alloc] init];
... // Gather data from HTML source and parse it into "array"
self.arrayOfClasses = array; //arrayOfClasses here is non-nil (with correct objects)
NSLog(@"%@ test1", [self.arrayOfClasses objectAtIndex:0]);
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"%@ test1.5", [self.arrayOfClasses objectAtIndex:0]);
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"%@ test2", [self.arrayOfClasses objectAtIndex:0]);
return [self.arrayOfClasses count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%@ test3", [self.arrayOfClasses objectAtIndex:0]);
static NSString *CellIdentifier = @"WebCollegeCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [self.arrayOfClasses objectAtIndex:indexPath.row];
return cell;
}
そしてこれはからの出力ですNSLog
:
2012-11-24 22:52:19.125 ArizonaCollegeSearch[72404:c07] CSE 240 test1
2012-11-24 22:52:19.126 ArizonaCollegeSearch[72404:c07] CSE 240 test1.5
2012-11-24 22:52:19.127 ArizonaCollegeSearch[72404:c07] (null) test1.5
2012-11-24 22:52:19.127 ArizonaCollegeSearch[72404:c07] (null) test2
ご覧のとおり、numberOfSectionsInTableView
はnull以外のオブジェクトで呼び出され、次にnullオブジェクトでnumberOfRowsInSection
呼び出され、nullオブジェクトでcellForRowAtIndexPath
呼び出されており、まったく呼び出されていません。どこにもありません[self.tableView reloadData]
。
助言がありますか?