비디오: 엑스코드 스위프트 기초 부터 교육 인강 사용법 강좌 강의 배우기 2024
iOS 앱 개발에서 Objective-C로 자신의 메소드를 기존 클래스에 추가 할 수 있습니다. 클래스에 메소드를 추가하는 것은 특정 상황에서만 새로운 비헤이비어가 사용되는 상황에서 유용합니다.
예를 들어 특정 애플리케이션 (예: palindrome checker) 처리 할 문자열을 거의 되돌릴 필요가 있습니다! 추가 역방향 메서드를 사용하여 NSString의 고유 한 하위 클래스를 만들기 위해 프로그램을 복잡하게 만들 수 있습니다. 오히려 원본에 새 비헤이비어를 추가하는 것이 훨씬 편리 할 수 있습니다
프레임 워크 클래스이고 소스 코드가 없기 때문에 원래 인터페이스 나 구현 NSString을 수정할 수 없습니다. 새 범주를 정의하여 NSString 클래스 (또는 다른 클래스). PostfixAll.m 파일에서 NSString 클래스가 다음과 같이 reverse라는 메서드로 확장되었다는 것을 알 수 있습니다:
@interface NSString (ReversibleString) - (NSString *) reverse; -d
보시다시피 카테고리 정의는 클래스에 대한 인터페이스 정의와 매우 유사합니다. 실제로 범주의 메서드에 대한 구현을 제공하는 것은 메서드가 @implementation 블록으로 묶여 있다는 점에서 클래스의 구현을 제공하는 것과 매우 유사합니다. 아래 범주의 구현 블록을 볼 수 있습니다 (PostfixAll.m 파일에서):
= 0; i--) {NSString * oneCharString = [자체 substringWithRange: NSMakeRange (i, 1)]; 마지막으로, 카테고리에서 정의 된메소드의
사용은 다른 메소드의 사용과 다르지 않습니다. (에서 볼 수 있듯이) [reverseedString appendString: oneCharString] PostfixAll의 main 함수에서 가져온 다음 코드 스 니펫. m: