我刚刚遇到一种情况,我的tableview的实现工作在3.2但是无法触发iOS 4中的任何tableview方法。所讨论的视图控制器被定义为UIViewController,并且设置为采用UITableViewDataSource和UITableViewDelegate协议,我将tableview挂钩作为视图的数据源并通过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;
}
这似乎在&lt; 4.0,但在4中它只是简单地绕过任何这些方法。我是不是偶然地做错了,被4.0中修复的东西搞定了?
答案 0 :(得分:0)
您是否为dataSource
设置了delegate
和itemTable
?你的其余代码似乎很好看。另一个问题是为什么要使用UiViewController
而不是UITableViewController
我一直在使用UITableViewController
并且效果很好,你仍然可以实现你已经实现的简单基本方法。