2012-09-18 4 views

답변

0

네, NSUserDefaults를 사용하는 것보다 훨씬 좋은 방법이 있습니다!

게임 .m에서 직접 배열에 액세스 할 수 있습니다. 먼저 level.h를 game.m으로 가져와야합니다 (예 : #import "level.h").

이제 배열의 인덱스 0에있는 숫자의 값을 int로 지정한다고 가정 해 보겠습니다. 당신이 할 수있는 다음과 같이 int myNumber = [[[name_of_level_class name_of_array] objectAtIndex:0] intValue];

빠른 NSLogmyNumber 정수

-1

은 AppDelegate에로 배열을 추가하여 level.m의 배열에 0 인덱스에 당신이 무엇을 가지고 수와 동일합니다 것을 증명한다 애플리케이션을 통해 전 세계에 액세스 할 수 있습니다.

AppDelegate에서 속성을 만들고 배열을 합성합니다.

AppDelegate의 인스턴스를 사용하여 원하는 곳에서 사용할 수 있습니다.

+0

올바른 방법이 아닙니다. 앱 대리인은 루트보기 컨트롤러를 설정하고이를 메인 윈도우에 추가해야합니다. 그 외에도, ** 당신은 당신이 당신의 앱 델리게이트에 넣은 것을 심각하게 ** 고려해야합니다. ** 일반적인 사용 변수를 저장하는 곳이 아닌 ** 이것은 나쁜 습관이며 스파게티 코드와 성능 문제가 될 수 있습니다. ** 실제로 ** 전역 적으로 액세스 할 수있는 객체/변수가 필요하면 ** 싱글 톤 ** 패턴을 고려해보십시오. 그렇지만이 경우에도이 값을 조금씩 사용하십시오. –

+0

@ JRG - 개발자 앱 위임은 애플리케이션의 핵심입니다. 나는 u에 동의하지만 내 생각은 완벽하다. [this] (http://www.leesilver.net/1/post/2011/8/passing-data-between-view-controllers-in-objective-c.html) . 또한 u는 Google에서 더 많은 것을 찾을 수 있습니다. –

관련 문제