2009-08-08 5 views
0

내 AppDelegate에 NSString이 선언되어 있습니다. 내보기 클래스에서 해당 문자열을 읽고 쓰려고하지만 getter/setter 메서드에 대한 오류가 발생했습니다. 여기AppDelegate에 선언 된 NSString 용 setter 및 getter

내가 그것을 접근하고 방법은 다음과 같습니다

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 

appDelegate.myString = @"test"; 
+0

어떻게 MyString의 선언입니까? ... 그리고 @synthesize를 사용하고 있습니까? 아니면 getter/setter 쌍을 직접 구현하고 있습니까? 덕분에 – bbum

답변

4

가 어떻게 myString property가 정의 당신이 있습니까? 정의 된 변수와 @property이 인터페이스에서

및 구현 @synthetize에 : 액세스하기 위해

당신은 당신이 3 일에 필요 말하는 것처럼. 같은

뭔가 :

// MyAppDelegate.h 
@interface MyAppDelegate 

NSString *myString; 

@end 

@property NSString *myString; 


// MyAppDelegate.m 
@implementation MyAppDelegate 

@synthetize myString; 

@end 
+0

! @synthesize 및 @property가 누락되었습니다. – user140736

+0

기술적으로 속성 또는 syntehsize가 필요하지 않습니다. setter와 getter, 즉 메소드가 필요합니다. - (NSString *) myString 및 - (void) setMyString : (NSString *) inString. @property는 단순히 그 메소드를 선언하고 @synthesize는 단순히 코드를 작성하지만 도트 표기법을 사용하여 실제로 @property 또는 @synthesize를 사용하지 않고 액세스 할 수 있습니다. –

관련 문제