변수 (var1)가 내 AppDelegate에서 설정됩니다. AppDelegate에서 변수를 가져 오려는 다른 클래스 인 MyClass가 있습니다. 나는 잘 MyClass에 정의 된 변수 (VAR2)을 설정할 수 있습니다다른 클래스의 변수에 액세스 하시겠습니까?
AppDelegate에 :
- (void)setVariable {
var1 = @"TEST";
MyClass *setVar = [[MyClass alloc] init];
setVar.var2 = var1;
NSLog(@"var2: %@",setVar.var2); // Outputs TEST
}
나는 그것이 널의 MyClass에있는 변수를 얻을려고 :
MyClass의를
- (void)getVariable {
AppDelegate *getVar = [[AppDelegate alloc] init];
var2 = getVar.var1;
NSLog(@"var2: %@",var2); // Outputs NULL
}
[getVar setVariable];
도 포함하면 작동하지만 정적 변수로 변수를 설정하기 때문에 원하는 작업이 정확하지 않습니다. AppDelegate에서 이전에 설정 한대로 변수를 가져 오려고합니다.
화면에없고 즉시은 SetVariable 방법의 외출로 해제하게 될 것이다 MyClass에의 새로운 인스턴스를 생성합니다 같은
그래서 코드가 보일 것이다 범위. AppDelegate의 새 인스턴스를 만드는 것은 잘못입니다. 앱 대리자의 새 인스턴스를 만들어서는 안됩니다. Objective-C 프로그래밍에 대한 좋은 책을 얻고 객체를 이해하려고 노력해야한다. – rdelmar@rdelmar, 어떤 책을 추천 해 주시겠습니까? 나는 종종 좋은 책을 사라고 말하는 사람들을 보지만, 너무 많다. 특정 제목은 좋을 것입니다, 감사합니다. –
잘 모르겠습니다. 내가 사용한 것들은 권하지 않습니다. 나는 Big Nerd Ranch에서 많은 사람들을 추천하는 것을 본다. 나는 또한 스탠포드 온라인 과정 인 CS193P (iOS 프로그래밍 전용)의 비디오를 좋아했습니다. – rdelmar