【发布时间】:2011-08-28 01:04:55
【问题描述】:
正如标题所说,我的 tableview 控制器方法都没有被调用。
我创建表格视图的步骤如下。
1) 我基于 UITableViewController 创建了一个新文件并选择了 create with xib 选项。我将我的文件命名为 myStuffViewController。
2) 我有一个 UIViewController 的 rootview 控制器。在这个视图中,我有一个导航控制器,我想将我的 tableview 控制器推到某个点上。
3) 我像这样设置我的 tableview 和导航控制器
mystuff = [[MyStuffViewController alloc]initWithNibName:@"MyStuffViewController"bundle:[NSBundle mainBundle]];
accountView = [[AccountView alloc] initWithNibName:@"Login" bundle:[NSBundle mainBundle]];
accountViewNavController = [[UINavigationController alloc] init];
accountViewNavController.delegate = self;
NSArray *ar= [NSArray arrayWithObjects:accountView,mystuff, nil];
[accountViewNavController setViewControllers:ar animated:NO];
[accountViewNavController popToRootViewControllerAnimated:NO];
accountView.title=@"Login";
4) 然后当用户按下按钮时,我想像这样将表格视图控制器推入堆栈。
[accountViewNavController pushViewController:mystuff animated:YES];
我什至尝试调用 [self.tableView reloadData],但没有调用任何方法。
有人能提出为什么我的表格视图方法没有被调用吗?
编辑 1
我尽可能清楚地说明我的头文件是什么样子的。看来我没有遗漏任何东西。
@interface MyStuffViewController : UITableViewController<UITableViewDataSource,UITableViewDelegate> {
RemixView *remixView;
NSMutableArray *remixListArray;
TBXML*tbxml;
}
@property(nonatomic,retain)NSMutableArray *remixListArray;
@property(nonatomic,retain)RemixView *remixView;
@property(nonatomic ,retain)TBXML *tbxml;
-(void)fetchRemixList:(NSString *)uid key:(NSString *)k1;
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
@end
【问题讨论】:
-
请检查您是否为tableview委托和数据源连接或编码
-
hmmmm,很抱歉,但我没有完全理解。我已经为 tableview 委托编码,委托方法是由 xcode 生成的。从我所见,视图也通过 xcode 自动连接到控制器。你是这个意思吗?
-
我支持你纳拉亚南。只需确保已设置委托即可。
-
好的,如果您对委托指向正确的位置完全满意,那么接下来要检查的是委托方法的签名 - 即它是否完全符合其应有的状态?绝对确定签名正确的最简单方法是从文档中复制它。
标签: iphone uitableview