2011-02-28 126 views
0

需要將按鈕ID從一個.m傳遞到另一個,並同時清除我的表視圖,以便我可以加載新數據。似乎沒有任何事情發生,表仍然包含它在viewDidLoad上填充的內容,並且背景圖像不會更改。請幫忙。將按鈕ID從一個.m傳遞到另一個.m

有沒有警告或錯誤,以便即時通訊不知道什麼即時通訊做錯了,但senderIdentifier的ClassTwo.h值始終爲0

謝謝。

在我classOne.mi有以下按鈕操作

-(IBAction) btnPushViewtabel:(id)sender{  
ClassTwo *classtwo = [[ClassTwo alloc]init]; 
    classtwo.myTable = nil; 
classtwo.senderIdentifier = [sender tag]; 
[self.view addSubview:viewtableController.view]; 
} 
在ClassTwo.h

@interface ClassTwo : UIViewController <UITableViewDelegate, UITableViewDataSource> { 
.... 
int senderIdentifier; 
} 
@property (nonatomic, readwrite) int senderIdentifier; 
在ClassTwo.m

if(senderIdentifier == 0){ 
    // getNewData 
    //set background img1 
} else { 
    // getNewData 
    //set background img2 
} 
+0

[的tableView reloadData];? – thelaws 2011-02-28 22:42:25

+0

這就是我已經嘗試過,但我不知道它是否工作。由於無法識別哪個按鈕被按下,我無法首先加載新數據。你可以幫助我的問題與[發件人身份證]沒有正確傳遞?> – 2011-03-01 09:17:27

+0

**有人可以幫我嗎?** – 2011-03-01 11:55:03

回答

0

如果(mySenderIdentifier == 0){// getNewData //設置背景我MG1} 其他{// // getNewData設置 背景IMG2}

什麼方法是這樣的代碼塊?

編輯:

這一行:

classtwo.mySenderIdentifier = [發件人 標籤];

viewDidLoad中

在當你正在檢查它的其他words-你沒有帶實際設置它尚未:

後調用。

有許多的方法來解決這一點,但我的個人喜好將創建classTwo這樣一個自定義的init方法:

- (ID)initWithSenderIdentifier:(INT)標識{

if(self=[super init]){ 

    self.senderIdentifier = identifier; 
    self.myTable = nil; 

}  
return self; 

}

或者elimate需要存儲的INT(假設它只是用來設置背景一次)

- (ID)initWithSenderIdentifier:(INT)標識符{

if(self=[super init]){ 

    if(identifier)//set backgroundimg1; 
    else //set backgroundimg2; 
    self.myTable = nil;   
}  
return self; 

}

使用這樣的:

ClassTwo * classtwo = [[ClassTwo alloc] initWithSenderIdentifier:[sender tag]];

如果這是有幫助的,請註明有人回答

+0

謝謝你看這個。它在viewDidLoad方法 – 2011-03-01 14:41:48

+0

編輯解決方案 – 2011-03-01 17:00:14

+0

即時通訊仍然有同樣的問題,我可以看到它的設置值,但是當它運行viewDidLoad它再次回到0。 – 2011-03-01 18:01:04

相關問題