2011-04-18 5 views
0

새로운 iPhone 앱을 시작하고 '게으른 방법'을 수행하는 데 지쳤습니다. 즉 하나의 뷰 컨트롤러 내의 모든 코드를 포함한다. 레벨을 다른 .m (또는 XML) 형식으로 제어하려고합니다. Level.h에서 선언되고 Level.m에서 제어되며 Game.m에서 액세스되는 CGPoint는 어떻게됩니까?iPhone 앱에서 여러 파일 사용하기

감사합니다, 코너

+0

확인이를. Objective-C에만 국한되지는 않지만 더 적은을 안내해 줄 것입니다. http://msdn.microsoft.com/en-us/library/x84ydca5(v=vs.90).aspx –

+0

클래스를 가져 오면 잘 보내야합니다. – DailyDoggy

답변

0

해결! Levels.h에서

:

@interface Levels : NSObject { 

} 

+(CGPoint)levelController; 

Levels.m에서 :

+(CGPoint)levelController { 
    CGPoint wall_01; 
    wall_01 = CGPointMake(300, 100); 
    return wall_01; 
} 

Game.m에서 :

test = [Levels levelController];//in any method you want, just import "Levels.h" 
0
ClassA.h 

@interface ClassA : BaseClass 
{ 

    CGPoint point; 
} 

@property(nonatomic, assign) CGPoint point; 
@end 

ClassB.h 

#import "ClassA.h" 

@interface ClassB : BaseClass 
{ 

    ClassA classa; 
} 

@property(nonatomic, retain) ClassA classa; 
@end 

ClassB.m 

CGPoint localPoint = classa.point 
+0

'오류 : 매개 변수로 객체를 사용할 수 없습니다. 방법 '??? –

+0

포인트를 @ 만드십시오. –

+0

물론 그랬습니다. 어쨌든 해결되었습니다. –

0

는 각각의 이야기 객체의 관점에서 생각, 파일 B. 이것은 객체 지향 프로그래밍 코드 이야기 파일에 코드의 관점에서 생각하지 않도록 노력 다른. 모든 오브젝트는 참조 (포인터)가있는 다른 오브젝트와 대화 할 수 있습니다. 서로 대화해야하는 객체가 그렇게 할 수 있도록 프로그램을 구성하면 소프트웨어 개발자로서 가장 중요한 작업 중 하나입니다.

+0

좋아, 어떻게 할 수 있습니까? –

+0

무엇을할까요? 프로그램 구성? 그것은 당신의 프로그램에 달려 있습니다. 그것은 프로그램을 만드는 과정의 일부입니다. 객체가 서로 통신하는 방식에는 여러 가지 공통적 인 패턴이 있으며, iOS에서 가장 중요한 것은 MVC입니다. 위임은 또 다른 것입니다. 청취자는 또 하나입니다. 이 패턴을 사용하여 iOS 앱을 만드는 방법을 배우려면 * Cocoa Fundamentals Guide *를 읽으십시오. – Caleb

관련 문제