Я уже давно пытаюсь добавить IBOutlets в UIView. Ну, это кажется невозможным. Я создал класс под названием «RecessCell». Класс владельца файла - «RecessCell», а класс объекта представления - это RecessCell. Я создал выход под названием «betweenPeriods», и все, кажется, работает. Затем я попытался показать настраиваемое представление в UIScrollView внутри UITableViewCell:Подклассификация UIView с IBOutlets
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
RecessCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Recess"];
if(cell == nil) cell = (RecessCell *)[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Recess"];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 1, 320, 50)];
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.bounces = NO;
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(640, 50);
[scrollView addSubview:[[[NSBundle mainBundle] loadNibNamed:@"RecessCell" owner:self options:nil] objectAtIndex:0]];
[cell addSubview:scrollView];
return (UITableViewCell *)cell;
}
Конечно, это не сработало. Каждый раз, когда я загружаю XIB я получаю досадную ошибку во время выполнения, что снова и снова заставляет меня хотеть, чтобы убить себя:
«[SetValue: forUndefinedKey]: этот класс не значение ключа кодирования-совместимый для ключа между периодами. ' Хотя SetupRecess - это класс UIViewController. SetupRecess не должен иметь розетки для промежутков между точками - RecessCell.
Вот почему я попытался сменить владельца в методе loadNib на ячейку. Ну, угадайте, что? ДЕСЯТЬ РАБОТА.
'[SetValue: forUndefinedKey]: этот класс не значение ключа кодирования совместимый для ключевых betweenPeriods.
Я полностью расстроен, как вы можете видеть. Я действительно не знаю, в чем проблема, и, очевидно, не как это исправить.
Пожалуйста, помогите, спасибо.
Вы используете специальный класс RecessCell, но вы назначаете и запускаете UITableViewCell. Недостаточно бросать в класс, вам действительно нужно создать объект этого класса. – Abizern
Это также говорит вам, что 'betweenPeriods' не является свойством, совместимым с KVC. – Abizern
@Abizern 2-е утверждение является лишь частично истинным, т. Е. Реальная проблема - это то, что вы объяснили в # 1. –