UITableView适用于3.2但没有在4.0中触发的tableview方法(模拟器和设备)

时间:2010-07-16 01:37:14

标签: iphone objective-c uitableview

我刚刚遇到一种情况,我的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中修复的东西搞定了?

1 个答案:

答案 0 :(得分:0)

您是否为dataSource设置了delegateitemTable?你的其余代码似乎很好看。另一个问题是为什么要使用UiViewController而不是UITableViewController

我一直在使用UITableViewController并且效果很好,你仍然可以实现你已经实现的简单基本方法。