UIImageViewを含むxibにビューがあります。xibに表示される画像を設定していますが、正しく読み込まれて表示されます。
ただし、状況によっては、ロードされたイメージを実行時に別のイメージに置き換えたいので、これを実行しています。
NSArray* viewObjects = [[NSBundle mainBundle] loadNibNamed:@"ParentView"owner:self options:nil];
id object = [viewObjects objectAtIndex:0];
parentView *parentView = (ParentView*)[viewObjects objectAtIndex:0];
UIImage *image = [UIImage imageNamed: @"iconName"];
UIImageView *iv = [[UIImageView alloc] initWithImage: image];
iv.frame = parentView.icon.frame;
parentView.icon = iv;
parentView.iconはUIImageViewです。画像変数はnilではなく、コードの実行時にivでもありません。
iconNameは、プロジェクトにある「iconName@2x.png」という.pngであり、.xib内でUIImageViewとして設定すると、正しく読み込まれて表示されます。しかし、.xibに別のアイコンを設定し、実行時に上記のコードで置き換えようとすると、置き換えられません。
なぜこれが機能しないのか理解できません。