2013-02-07 55 views
1

我在一個類中使用多個UITableViews,但我不能在我的代表中分離它們。爲什麼不能正常工作:比較UITableViews

- (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; 
} 
+0

如果在方法中設置斷點,tableView,myFirstTable和mySecondTable的值是什麼? –

+1

你在哪裏初始化myFirstTable等?這些實例變量是什麼?你用ARC嗎? –

+0

編輯我的答案 –

回答

0

現在我只是通過向tableview添加一個標籤並將tableview.tag與一個整數進行比較來解決這個問題。仍然無能爲力,爲什麼比較兩個tableviews不工作。