2011-08-22 39 views
0

我有一個文本字段是一個CustomCell類中的IBOutlet。然後該單元格在UITableViewController子類中實例化。最後我有一個UITableViewController的子類。我怎樣才能發送消息到最後一個子類的文本字段?謝謝!消息到超類的屬性

//CustomCell.h 
@interface CustomCell : UITableViewCell 
@property (retain) IBOutlet UITextField *textField 

//DetailViewController.h 
#import CustomCell.h 
@interface DetailViewController : UITableViewController 
@property (retain) IBOutlet CustomCell *CustomCell 

//DetailViewController.m just the cell getting instantiated. 

static NSString *CustomCellIdentifier = @"CustomCellIdentifier"; 
DetailViewCell *cell = 
(DetailViewCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier]; 

if (!cell) {   
     [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     cell = customCell; 
} 

//AddItemViewController.h 
#import DetailViewController.h 
@interface AddItemViewController : DetailViewController 

//AddItemViewController.m 

-(void)viewDidLoad 
{ 
    textField.text = @"The text" //obviously this doesn't work 
} 

回答

0

您不應該直接通過屬性公開單元格,而應該訪問數據源。

在你的例子中,雖然AddItemViewController繼承自DetailViewController,它有屬性CustomCell所以你需要從那個屬性訪問textField。

self.CustomCell.textField.text = @"The text"; 
+0

是否有任何理由,這是行不通的? – theHomers

0

應該cell.textField.text。你可能會需要做的是,在這個方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;