2 개의 클래스가 변수를 공유 했으므로 응용 프로그램을 만들려고합니다. 코드를 좀 더 깔끔하게 보이게하기 위해서 나는 제 3의 클래스를 만들었습니다. 이 "제 3의 클래스"유일한 일은이 변수를 수용하는 것입니다.다른 클래스의 변수 설정
클래스 3에서는 "get"및 "set"메서드를 사용합니다.
SharedURL.H (클래스 3)
@interface SharedURL : NSObject {
NSString *theURL;
}
-(NSString *)getTheURL;
-(void)setTheURL:(NSString *)blah;
@property (readwrite, copy) NSString *theURL;
@end
구현 : 클래스 1 및도 2에
#import "SharedURL.h"
@implementation SharedURL
@synthesize theURL;
-(NSString *)getTheURL;
{
return theURL;
}
-(void)setTheURL:(NSString *)blah;
{
theURL=blah;
}
@end
: 가 나는 매우
같은 인스턴스 변수를 설정 클래스 헤더 가져올SharedURL * XMLURL;
나는 그런 구현에 나는 내가 fallowing 코드를 구현 할 때마다 그러나 getter 메소드가 전무을 반환이
[XMLURL setTheURL:@"http://localhost:8888/xml/MyXMLFile.xml"];
같은 설정 방법을 설정 때문에
@property (readwrite, assign) SharedURL *XMLURL;
같은 속성을 정의합니다.
NSLog (@ "url은 % @", [XMLURL getTheURL]);
어떻게하면 실제로 입력 된 변수를 저장 한 다음 반환 할 수 있습니까? 나는 약간의 샘플 코드를보고 있는데, 내 잘못을 발견 할 수 없다. 나는 그것이 내가 어리석은 것을 간과하고 있다고 생각하는 것처럼 완벽하게 잘하고있는 것처럼 보인다.
하지만 정적 클래스로 설정하면 값을 저장하는 데 사용하는 인스턴스 변수에 액세스 할 수 없습니까? –
인스턴스 앞에 인스턴스를 선언 한 다음 정적 NSString * theURL을 만듭니다. –
비슷한 문제가 있는데 "인스턴스 변수 'theURL'클래스 메서드에서 액세스했습니다. –