이는 objective-c에서 무엇을 의미합니까?
-
13-12-2019 - |
문제
관리자는 ManageAddressbook.m. 파일에는
에 두 개의 @implementation이 있습니다.두 번째 의미는 무엇을 의미합니까?
@implementation ManageAddressBook
@end
@implementation NSString (Additions)
@end
. 해결책
첫 번째 구현은 새로운 클래스 일뿐입니다.두 번째 구현은 기본적으로 범주로 알려진 기존 클래스에 대한 확장 방법입니다.기사를 참조하십시오 : 카테고리 및 확장 자세한 정보는
카테고리를 사용하면 기존 클래스에 메서드를 추가 할 수 있습니다.카테고리는 하위 클래스없이 기존 클래스의 기능을 확장 할 수있는 강력한 기능입니다.카테고리를 사용하여 여러 파일 중에서 자신의 클래스의 구현을 배포 할 수도 있습니다.클래스 확장은 유사하지만 기본 클래스 @Interface 블록 이외의 위치에서 클래스에 대해 추가 필수 API가 선언되도록 허용합니다.
다른 팁
두 번째는 Objective-C 범주 on NSString
, 즉 NSString
에서 작동하지만 NSString
클래스 작성자가 제공하지는 않습니다.
카테고리를 추가하면 C #의 확장 방법과 다소 유사한 방식으로 클래스의 기능을 확장 할 수 있습니다. 오브젝트는 범주로 정의 된 메시지에 응답하기 시작하여 유연하고 모듈 형 방식으로 기능을 작성하기에 편리합니다.
제휴하지 않습니다 StackOverflow