Я только что столкнулся с ситуацией, когда моя реализация табличного представления работает в 3.2, но не в состоянии запустить ни один из методов табличного представления в iOS 4. Рассматриваемый контроллер представления определяется как UIViewController и настроен для принятия UITableViewDataSource иПротоколы UITableViewDelegate, и я подключаю табличное представление как источник данных представления и делегирую через IB.
Определение в .h:
@interface FooViewController : UIViewController <UITableViewDataSource,
UITableViewDelegate> {
IBOutlet UITableView *itemTable;
}
@property (nonatomic, retain) IBOutlet UITableView *itemTable;
.m:
@synthesize itemTable;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"numberOfSectionsInTableView fired!");
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
NSLog(@"numberOfRowsInSection fired!");
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
}
В <4.0 это работает нормально, но в 4 он просто обходит запуск любого из этих методов.Случайно ли я делаю это неправильно и попадаюсь на что-то исправленное в 4.0? </p>