私はUITabBarController
ベースのアプリを持っています。クラスを作成しました。masterVC
を構成するすべてのViewControllerはのtabBarController
サブクラスですmasterVC
。UIImageView(のプロパティ)を設定したいのですが、masterVC
一度設定すると、内の各ビューにその画像が表示されますtabBarController
。
各VCをインスタンス化する場合、イメージをプロパティとして渡すことができます(これは簡単です)。ただし、tabBarControllerViewController間でこれを行う方法はありません。
私がやろうとしていることの最も簡単な概念的な例は、tabBarController内の各ビューコントローラーでのこの例によるものです。より良い方法が必要です:
-(void)viewDidAppear:(BOOL)animated
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:kMainImageData];
if (data) {
self.mainImageView.image = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
}
-(void)viewWillDisappear:(BOOL)animated
{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self.mainImageView.image];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:kMainImageData];
}