2012-11-21 89 views
0

我有一個UITableViewCell子類,我需要有兩個UIColor變量。我已經在頭中聲明瞭它們,但是在實現中我會在什麼地方設置它們的值以供以後訪問?在UITableViewCell子類中設置變量?

我需要一個類似的方法來viewDidLoad,這樣我可以設置這些細胞加載時。我曾嘗試在initWithStyle中設置它們,但它並不好,因爲我不使用它來創建我的單元格。

在我的視圖控制器我加載它們在象下面這樣:

CustomCell *cell = [tv dequeueReusableCellWithIdentifier:cellIdentifier]; 

那麼,我會設置這些變量? (我想嘗試並將它們留在子類中。)

任何幫助總是感激,謝謝。

編輯:

這裏是我的cellForRowAtIndexPath方法:

- (CustomCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"Cell"; 

    CustomCell *cell = [tv dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 

    return cell; 
} 
+0

您是否正在使用具有原型的故事板,註冊一個類以供重用或註冊一個筆尖以供重用? – jrturton

+0

可以向我展示你的'cellForRow'方法.. – vishy

+0

添加了我的'cellForRowAtIndexPath'方法來查看。我在故事板中使用原型。 –

回答

1

如果您使用的是故事板和原型,那麼您的單元格將在首次創建時調用awakeFromNib。你可以把你的代碼放在這裏。

initWithStyle:未被調用,因爲您的單元格正在從筆尖加載。它將使用initWithCoder:來代替初始化。你也可以把你的代碼放在那裏,或者使用從那裏調用的共享設置方法和initWithStyle(如果你改變將來使用單元格的方式)。

+0

啊哈!這個技巧謝謝你的澄清。現在更有意義了。 –

0

initWithStyle是UITableViewCell的類的指定初始化,所以你必須使用該方法來初始化一個UITableViewCell。如果您已經初始化您的單元並且有單元可用於出列,則離隊只能起作用。

你可以看到你的代碼,你分配和初始化,如果單元格爲零。

+0

我明白你的意思了,但是'initWithStyle'方法永遠不會被調用。 –

+0

你確定嗎?在你的CustomCell –

+0

中的該方法內設置一個斷點已經這樣做了,永遠不要停在那個斷點上。 –