У меня есть два ViewControllers.Как установить/получить UIImageView.image через Singleton?
FirstViewController имеет UILabels и UIImageViews. Также генерируется Singleton из его класса. SecondViewController имеет вызов этого Singleton и должен получать значения UILabels и UIImageViews от FirstViewController.
Работы NSString, UILabel нет.
Например, доступ к NSString в SecondviewController с «sharedFirstViewController.nsstringvarname» Я могу получить и установить значение. Это прекрасно работает!
Попытка же самое с UILabel, как это: «sharedFirstViewController.uilabelvar.text» Я doens't можно установить или получить значение этого UILable. Это работает НЕ!
Есть ли что-нибудь особенное с UI-объектами? Было бы здорово, если кто-то может мне помочь. Спасибо!
EDIT:
в FirstViewController.h
+ (id)sharedFirstViewController;
@property (copy, nonatomic) NSString *path;
@property (strong, nonatomic) IBOutlet UIImageView *pic;
в FirstViewController.m
@synthesize path= _path;
@synthesize pic = _pic;
- (id)init {
if (self = [super init]) {
_pic = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 200)];
}
return self;
}
+ (id) sharedFirstViewController {
static sharedFirstViewController * sharedFirstViewController = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedFirstViewController = [[self alloc] init];
});
return sharedFirstViewController;
}
в SecondViewController.m
#import "FirstViewController.h"
- (void)viewDidLoad
{
FirstViewController * sharedFirstViewController = [FirstViewController sharedFirstViewController];
NSLog(@"this is NSString from FVC: %@" sharedFirstViewController.path); //works
UIImage * picture = [UIImage imageWithContentsOfFile:sharedFirstViewController.path];
sharedFirstViewController.pic.image = picture; // does´t work
}
код и конкретные ошибки помогут выработать то, что не так – wattson12
показать вам код, как вы делаете класс singleton, и он varibles – Tirth