나는 거의 동일한 코드 인을 가진 몇 개의 클래스가 있습니다. 두 문자열 만 다릅니다. 내가하고 싶은 것은 그 함수를 정의한 다른 클래스에서 "x"를 만들고 나서 상수 나 다른 것을 사용하여 다른 문자열을 정의하는 것입니다. "x"가 상속인지 또는 확장인지 확실하지 않습니다. 그것이 내가 도움이 필요한 것입니다. 예를 들어Objective-C 프로토콜 대 상속?
:
objectA.m :
-(void)helloWorld {
NSLog("Hello %@",child.name);
}
objectBob.m :
#define name @"Bob"
objectJoe.m
#define name @"Joe"
(내가 잘 모르겠어요 문자열을 정의하는 것은 합법적이지만, 이것은 e point across)
objectBob.m과 objectJoe.m이 objectA.m과의 관계 만 정의 할 필요가없는 것이 이상적입니다. 이런 식으로 할 수있는 방법이 있습니까? 그것은 반대의 경우를 제외하고는 프로토콜과 비슷합니다. 실제로 "프로토콜"에서 함수를 정의하고 싶습니다.
-(void)helloWorld:(NSString *name) {
NSLog("Hello %@",name);
}
을 그리고 다른 파일이 그 기능 (그냥 #import objectA.m
)로 전화가 : 다른 모든 실패하면
난 그냥 objectA.m을 만들 수 있습니다.
+1 코코아 명명 표준에 의해 "이름"이라고 불린다. –
Objective-C getter 메소드는'get'이라는 단어를 사용하지 않습니다. 그것은 단지 '[자기 이름]'일 것입니다. 'get '로 시작하는 메소드는, 제공된 버퍼가 채워지고 있는지, 리모트 리소스가 꺼내지고 있는지를 나타냅니다. – Chuck
그게 잘 작동하는 것 같습니다. 기본 클래스에서 필요로하는 함수 (예 : 이름)를 정의하는 프로토콜과 연결할 수 있습니까? 실제로, "name"은 메소드가 될 필요가 있거나 서브 클래스에 대해 상수로 만드는 방법이 있습니까? – RyanJM