сообщение в собственность суперкласса - PullRequest
0 голосов
/ 23 августа 2011

У меня есть текстовое поле, которое является IBOutlet в классе CustomCell.Затем эта ячейка создается в подклассе 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
}

Ответы [ 2 ]

0 голосов
/ 23 августа 2011

должно быть cell.textField.text ;.Вероятно, вам придется сделать это следующим способом:

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

0 голосов
/ 23 августа 2011

Вы не должны открывать ячейки напрямую через свойство, а должны обращаться к источнику данных.

В вашем примере AddItemViewController наследуется от DetailViewController, который имеет свойство CustomCell, поэтому вам необходимо получить доступ к textField из этого свойства.

self.CustomCell.textField.text = @"The text";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...