@interfaceで
IBOutlet UIImageView* test;
とかいておくと
Interface BuilderでOutletにtestが表示されますが
IBOutlet UIImageView* test[3];
とかくと
Interface BuilderでOutletに表示がされません。
この場合配列を用いることはできないのでしょうか。何か方法があるのでしょうか。
そもそもNSObject系のオブジェクトって配列に入れられましたっけ?
それに、UIImageView*を配列として定義するのもできないような・・・。
この場合、NSArrayかNSMutableArrayを使って、objectAtIndexで読んでくるのが通例だと思います。
IBOutlet UIImageView *test3;
NSMutableArray *test;
...
*test3 = (UIImageView*)[test objectAtIndex:3];
...
ちなみに普通の配列も使えたのは知りませんでした。
逆に勉強になってしまいました。
IBOutlet自体はIBの各オブジェクト毎に定義しなくてはいけないので、当然ながら配列を渡せば一括で表示できる、とはいきません。
もしIBを使わずにインターフェイスを作成するのであれば、ループでUIImageViewを追加していくという事ができますが。
for (UIImageView *test in tests) {
[self.view addSubview:test];
}
で、testsに関してですが、この50個の画像は毎回同じもの、もしくは法則性のあるものなのでしょうか?
もしそうであれば、一度plistに画像のファイルパス一覧を保存して、次回起動時からはplistから読み込んだファイルパスを元にUIImageViewをループで自動生成すれば良いかと。