【发布时间】:2014-09-01 04:46:39
【问题描述】:
我有一个自定义的UIView,它有几个不同的视图,还有一个UITableview。
我创建了一个自定义类,它是UITableViewController 的子类。这将控制UITableview 和UITableView 的原型单元。
如果我将 delegate 和 datasource 设置为父视图,我会收到以下错误:
-[RoadSafetyAppViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x10c92f190
其中 RoadSafetyAppView Controller 是父视图。但是,如果我根本不设置委托和数据源,我的表不会加载我在自定义类中声明的图像,如下所示:
@implementation MenuController
@synthesize menuArray;
-(void) viewDidLoad
{
[super viewDidLoad];
self.menuArray = [NSMutableArray arrayWithCapacity:4];
[menuArray addObject:[UIImage imageNamed:@"Dob in a Hoon menu.png"]];
[menuArray addObject:[UIImage imageNamed:@"Report a Hazard menu.png"]];
[menuArray addObject:[UIImage imageNamed:@"Old Logo menu.png"]];
[menuArray addObject:[UIImage imageNamed:@"Council Website menu.png"]];
}
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.menuArray count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellIdentifier";
MenuCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.menuImage.image =[UIImage imageNamed:@"Dob in a Hoon menu.png"];
switch (indexPath.row) {
case 0:
cell.menuImage.image =[UIImage imageNamed:@"Dob in a Hoon menu.png"];
break;
case 1:
cell.menuImage.image =[UIImage imageNamed:@"Report a Hazard menu.png"];
break;
case 2:
cell.menuImage.image =[UIImage imageNamed:@"Old Logo menu.png"];
break;
case 3:
cell.menuImage.image =[UIImage imageNamed:@"Council Website menu.png"];
break;
default:
break;
}
return cell;
}
有人可以指出我的图像哪里出了问题,或者我需要将我的委托/数据源设置为什么吗?
谢谢。
【问题讨论】:
-
看起来您应该将
delegate和dataSource设置为您的MenuController实例,而不是RoadSafetyAppViewController。 -
RoadSafetyAppViewController是MenuController的父级吗?将delegate和datasource设置为MenuController并检查。 -
menuArray 初始化了吗?
标签: ios objective-c uitableview uiview