Ho disposto una vista in un file NIB, quindi ho aggiunto la sottoclasse UIView come proprietario del file.Caricamento di una vista da NIB, IBOutletCollection è nullo anche se altri IBOutlet funzionano correttamente
La sottoclasse si presenta così:
@property (nonatomic, weak) IBOutlet UILabel *categoryLabel;
@property (nonatomic, weak) IBOutletCollection(UIImageView) NSArray *images;
Le proprietà sono deboli a causa di questo: https://stackoverflow.com/a/7729141/1016515
Poi ho cablato l'etichetta e le UIImageViews nel pennino, dalla vista al proprietario del file .
Poi, nella parte awakeFromNib della sottoclasse, ho fatto questo:
[[NSBundle mainBundle] loadNibNamed:@"CategoryButton" owner:self options:nil];
NSLog(@"label: %@",self.categoryLabel);
NSLog(@"images: %@",self.images);
mi aspettavo di vedere gli indirizzi del categoryLabel e le immagini. Invece ho trovato che l'etichetta della categoria andava bene e le immagini sono nil
.
Questo è piuttosto sconcertante, perché le dichiarazioni per images
e categoryLabel
sono identiche. Perché uno lavora e l'altro fallisce?
Lavori. Facile da perdere questo. Pensato allo stesso modo yo idid! –
Perso anche perché essendo debole, si annulla automaticamente e non si blocca con un forin (foreach, qualunque sia) – txulu