2010-08-04 8 views
0

나는 여러보기 컨트롤러를 사용하는 응용 프로그램이 있습니다. 하나의 인스턴스에서 int (int lives)를 별도의 뷰 컨트롤러에서 만들어야합니다. 나는 그것을 사용하려고 시도하고 그것은 선언되지 않은 "생명"을 주장하는 빌드에서 오류를 던지고 버린다. 이미 int가 선언 된 뷰 컨트롤러를 가져오고 있습니다. 나는이 하나에 붙어있다.다른 클래스/viewcontrollers에서 변수에 액세스하는 방법

어떤 도움을 주셔서 감사합니다.

답변

0

속성을 사용하거나 인스턴스 변수에 사용자 정의 setter 및 getter를 사용하십시오.

+0

답장을 보내 주셔서 감사합니다. int를 사용하여 이것을 수행하는 방법에 대한 간단한 예를 들어 주시겠습니까? –

+0

- (int) getMyIntVariable {return myIntVariable; } – jamapag

0

응용 프로그램 대리인을 사용하여 필요한 정보를 응용 프로그램의 다른 위치에 저장할 수 있습니다.

적절한 방법은 고유 한 위임 프로토콜을 구현하는 것입니다. 이 주제에 대한 최근 토론은 pass a variable up the navigation stack

+0

앱 위를 둘러 본 다음에는 위임을 수행 할 수있는 것처럼 보입니다. appdelegate.h에 변수를 저장하고 전역 변수로 사용합니까 ?? –

+0

거의 그것들을 선언하고, @property 줄을 추가하고,'.m' 파일에 @synthesize 줄을 추가해야합니다. 그런 다음'[appDelegate setMyValue : 5];와 같은 getters/setters를 사용하여 액세스 할 수 있습니다. 여기서'addDelegate'는 앱 대리인을 가리켜 야합니다. – mvds

+0

도움을 주셔서 감사합니다. 그러나 get 메소드를 호출 할 때까지 여전히 경고를 작성하고 실행됩니다. // ViewControllerDemoAppDelegate.h NSInteger * MyInt; @property (nonatomic) NSInteger * MyInt; // ViewControllerDemoAppDelegate.m @synthesize MyInt; MyInt = 5; [출시일 MyInt]; //levelpass.m #import "ViewControllerDemoAppDelegate.h" fish = [ViewControllerDemoAppDelegate getMyInt]; BW- 1) ViewControllerDemoAppDelegate는 "+ getMyInt"에 2) 할당은 내가 NSInteger를 사용해야 캐스트없이 정수에서 포인터를하게 응답하지 않을 수 있습니다? 속성을 올바르게 사용하고 있습니까? –

관련 문제