比较UITableViews

时间:2013-02-07 13:47:11

标签: objective-c uitableview comparison

我在1个班级中使用多个UITableView但是我不能在我的代表中将它们分开。为什么这不起作用:

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    MenuHeader *header;
    if (tableView == myFirstTable) {
        header = [[MenuHeader alloc] initWithFrameAndTitel:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 40) :@"Text for first table"];
    }
    else if (tableView == mySecondTable) {
        header = [[MenuHeader alloc] initWithFrameAndTitel:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 40) :@"Text for second table"];
    }

    return header;
}

我在if语句中放了一个断点,但它从不设置标题。同样发生在

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {}

我在@implementation下声明了我的tableviews:

UITableView *myFirstTable;
UITableView *mySecondTable;
UITableView *myThirdTable;

然后在初始化中:

myFirstTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 180)];
myFirstTable.dataSource = self;
myFirstTable.delegate = self;
[self addSubview:myFirstTable];


...

修改

更多代码:

@implementation TableStuff

@synthesize delegate = _delegate;

UITableView *myFirstTable;
UITableView *mySecondTalbe;
UITableView *myThirdTable;


- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code


        myFirstTable; = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 180)];;
        menuTable.dataSource = self;
        menuTable.delegate = self;
        [self addSubview:menuTable];


        mySecondTable = [[UITableView alloc] initWi....
        more init...





    }
    return self;
}

1 个答案:

答案 0 :(得分:0)

现在我只是通过向tableview添加标记并将tableview.tag与整数进行比较来解决此问题。仍然无能为力的为什么比较两个tableviews不起作用。