Я выложил представление в файле NIB, а затем добавил свой подкласс UIView в качестве владельца файла.Загрузка представления из NIB, IBOutletCollection равно нулю, хотя другие функции IBOutlet работают нормально
Подкласс выглядит следующим образом:
@property (nonatomic, weak) IBOutlet UILabel *categoryLabel;
@property (nonatomic, weak) IBOutletCollection(UIImageView) NSArray *images;
свойства являются слабыми из-за этого: https://stackoverflow.com/a/7729141/1016515
Тогда я проводной вверх ярлык и UIImageViews в бобах, с тем чтобы владелец файла ,
Затем в awakeFromNib части подкласса, я сделал это:
[[NSBundle mainBundle] loadNibNamed:@"CategoryButton" owner:self options:nil];
NSLog(@"label: %@",self.categoryLabel);
NSLog(@"images: %@",self.images);
Я ожидал увидеть адреса categoryLabel и изображений. Вместо этого я обнаружил, что ярлык категории был прекрасным, а изображения - nil
.
Это довольно загадочно, потому что объявления для images
и categoryLabel
идентичны. Почему одно работает, а другое терпит неудачу?
Работы. Легко пропустить это. Думал так же, как иди! –
Пропустил это, потому что, будучи слабым, он автоматически отключается и не падает с помощью forin (foreach, что угодно) – txulu