Проблема создания подклассов UITableViewCell - PullRequest
1 голос
/ 21 мая 2009

У меня есть класс A, который наследует UITableViewCell (для настройки ячейки таблицы). У него есть члены, которые говорят, что x это UILabel.

Теперь, если я хочу установить значения, такие как a.x.text = "некоторый текст" в методе cellForRowAtIndexPath, я получаю сообщение об ошибке компиляции "для элемента x в ячейке, не относящейся к классу UITableViewCell".

Не могли бы вы дать мне знать, как я могу решить эту проблему?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 21 мая 2009

Сначала убедитесь, что ваша собственность определена правильно:

@interface A : UITableViewCell {
  UILabel *x;
}

@property (nonatomic, retain) IBOutlet UILabel *x;

@end

Затем убедитесь, что вы включили A.h в свой источник данных табличного представления и убедитесь, что вы приводите ячейку к типу A:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  static NSString *cellIdentifier = @"cell";
  A *a = (A *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
  if (a == nil) {
    a = [[A alloc] initWithFrame:CGRectZero reuseIdentifier:cellIdentifier];
  }
  a.x.text = @"some text";
  return a;
}
0 голосов
/ 21 мая 2009

Попробуйте использовать:

[[a x] setText:@"your text];

И посмотри, что получится.

0 голосов
/ 21 мая 2009

Обязательно добавьте x в качестве свойства к вашему подклассу:

@interface ACell : UITableViewCell {
      UILabel *X;
}

@property (readonly, nonatomic) UILabel* X;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...