ios - 在自定义UIview中设置UItableview的delegate和数据源

标签 ios objective-c uitableview uiview

我有一个自定义的 UIView,它有几个不同的 View ,还有一个 UITableview

我创建了一个自定义类,它是 UITableViewController 的子类。这将控制 UITableviewUITableView 的原型(prototype)单元格。

如果我将委托(delegate)数据源设置为父 View ,则会收到以下错误:

-[RoadSafetyAppViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x10c92f190

其中 RoadSafetyAppView Controller 是父 View 。但是,如果我根本不设置委托(delegate)和数据源,我的表不会加载我在自定义类中声明的图像,如下所示:

@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)/数据源设置为什么?

谢谢。

最佳答案

See connections for UITableView在你的 MenuController.h

MenuController : UIViewController<UITableViewDelegate,UITableViewDataSource>

并在 Interface Builder 中将 UITableView 与 Delegate&Datasource 连接起来..

希望它能解决您的问题..!

关于ios - 在自定义UIview中设置UItableview的delegate和数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25598976/

相关文章:

ios - 单击单元格中的按钮时如何解析以播放某首歌曲?

swift - 如何对 NSFetchedResultsController 的不同部分使用不同的 NSSortDescriptor ? ( swift )

ios - 我应该使用什么技术来组织这个日期列表?

ios - 无法将 UITapGestureRecognizer 和 UILongPressGestureRecognizer 添加到 UIButton

objective-c - 使用字符串访问字典的值

ios - '-' 的右操作数是垃圾值

ios - 禁用 UIPageViewController 反弹

ios - UITableViewController 的圆角

ios - 如何将添加文本框合并到 navigationItem -> rightBarButtonItem?

android - iphone 和 android 上的磁盘访问写入/更新数据的速度有多快