2016-09-22 4 views
1

新しい画像を割り当てると、自分のアプリの画像は更新されません。UIImageViewで画像を更新すると、UIImageの割り当てが迅速に行われない

func updateUI() { 
    nameField.text = founders[founderIndex].name 

    print("founders[founderindex].image",founders[founderIndex].image) 
    print("picture.image",picture.image!) 
    print(picture) 
    picture.image = founders[founderIndex].image 
    print("founders[founderindex].image ",founders[founderIndex].image) 
    print("picture.image",picture.image!) 
} 

のように、このため出力が見えます:founders[founderIndex].imageが今までpicture.imageに割り当てられません

founders[founderindex].image <UIImage: 0x17409b710> size {1200, 1200} orientation 0 scale 1.000000 

picture.image  <UIImage: 0x17409b490> size {1200, 1200} orientation 0 scale 1.000000 
<UIImageView: 0x100f14d20; frame = (125 3; 124 124); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x174038da0>> 

founders[founderindex].image <UIImage: 0x17409b710> size {1200, 1200} orientation 0 scale 1.000000 

picture.image  <UIImage: 0x17409b490> size {1200, 1200} orientation 0 scale 1.000000 

。私は見回しましたが、初期化されたイメージから変更することはできませんでした。

+0

'print(創始者[founderIndex] .image)'、出力は何ですか? –

+1

コードの画像を投稿しないでください。イメージを実際のコードコピーに置き換え、テキストとして貼り付けてください。 – rmaddy

+0

@ Mr.UB質問に表示されるログ出力の最初の行です。 – rmaddy

答えて

0

この問題は、イニシャライザで問題となりました。私はイニシャライザに画像を持っていたときにそれをキャッシュし、それを使うだけです。なぜ私は完全にはわからない。私は(文字列ではなくUIImageとして)変数に実際の資産名を保存するとimagenameのを初期化してしまった画像をロードすることを利用して:

picture.image = UIImage(named:founders[founderIndex].imageName) 

私は空の文字列以外のものを初期化する場合は、それがどうなります前と同じことを行い、デフォルト/初期化された値だけを保持します。だから、私はキーがイニシャライザにデフォルト値を割り当てていないと思います。

関連する問題