응용 프로그램의 모든 위치에서이 변수 값에 액세스하는 데 사용할 수있는 UIColor 변수 및 공유 인스턴스 메소드를 내 AppDelegate.h 파일에서 만들려고합니다. 내가 하나를 선택하려고 할 때 다른 색상이있는 tableview에 표시되는 클래스가 있고, AppDelegate.m-iOS의 첫 번째 인스턴스에 대한 UIColor 변수 값이 null입니다.
+ (AppDelegate *)sharedInstance {
static dispatch_once_t onceToken;
static AppDelegate *instance = nil;
dispatch_once(&onceToken, ^{
instance = [[AppDelegate alloc] init];
});
return instance;
}
여기 아래 AppDelegate.h-
+(AppDelegate *)sharedInstance;
@property(nonatomic,strong) UIColor * darkColorC1;
과 내 코드입니다 색상 중 하나가 NSUserDefaults에 저장됩니다. 내 AppDelegate에 변수 darkColorC1에 statements- 나는 COLOR1을 저장할 수 있어요
AppDelegate *globals = [AppDelegate sharedInstance];
globals.darkColorC1 = color1;
(Userdefaults) 값 이하로 사용하여이 darkcolorc1 변수에 userdefaults에 저장된 색을 지정하는 것을 시도하고, 내가 응용 프로그램을 닫을 때 시도하고있다 그것을 다시 실행하려면 Appdelegate 메서드 -didFinishLaunchingWithOptions에서 현재 선택된 값을 얻습니다. 하지만 그 첫 번째보기 컨트롤러에 null 값을 보여줍니다 그 색상을 할당하려고하면. EG-
AppDelegate *globals = [AppDelegate sharedInstance];
self.view.backgroundcolor= globals.darkColorC1;
위해 그것은 globals.darkColorC1 대한 널 (NULL) 값을 나타낸다.
또한 다른 색상을 선택하여 globals.darkColorC1 변수에 저장하고 첫 번째보기 컨트롤러를로드하려고하면 값이 null이 아닙니다. 누구든지이 문제를 해결할 수 있도록 도와주십시오. 도움을 주시면 감사하겠습니다.
AppDelegate에 같이이 변수를 액세스 할 수있는 클래스를
을하는 .m 커스텀 클래스이거나'[[UIApplication s haredApplication] delegate]'? – Larme
[[UIApplication sharedApplication] delegate] –
왜 사용자 정의 init 및 사용자 정의 공유 인스턴스가 있습니까? – Larme