使图像可以从其他ViewController访问

时间:2015-06-21 00:06:45

标签: ios objective-c uiviewcontroller uiimageview

我只想知道制作一个名为 profpic 的图像的代码,这些代码可供我制作或打算制作的所有其他ViewControllers访问。我已经阅读了很多关于全局变量,公共变量和其他尚未发挥作用的建议的帖子。如果它有帮助,我特意使用它来显示来自 ViewControllerA 的图像作为 ViewControllerB 的背景。

1 个答案:

答案 0 :(得分:0)

您可以使用单例类并在其上放置UIImage。在ViewControllerA中设置并在ViewControllerB

中获取
@interface MySingleton : NSObject 

@property (nonatomic, strong) UIImage *myImage;

+ (MySingleton *)sharedInstance;

@end


@implementation MySingleton

#pragma mark Singleton Methods

+ (MySingleton *)sharedInstance {
    static MySingleton *sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[self alloc] init];
    });
return sharedInstance;
}

- (id)init {
  if (self = [super init]) {
  }
  return self;
}
@end

访问myImage

// set myImage in ViewControllerA
MySingleton *mySingleton = [MySingleton sharedInstance];
mySingleton.myImage = [UIImage imageNamed:@"imageName"];

// get my image in ViewControllerB
MySingleton *mySingleton = [MySingleton sharedInstance];
myImageView.image = mySingleton.myImage;