반응형
iOS Category(카테고리) 사용 방법
Category란?
기존에 정의된 클래스를 쉽게 확장할 수 있게 해주는 기능
사용 방법
1. 카테고리로 확장할 클래스 생성
1-1. Xcode File > New > File > Cocoa Touch Class 선택
1-2. 네이밍 규칙
Class 파일명은 확장할 클래스 이름+카테고리명으로 지정해야 한다.
아래 사진에서는 NSString+Test 로 지정했다.
1-3. 생성된 파일
// NSString+Test.h
#import <Foundation/Foundation.h>
@interface NSString_Test : NSObject
@end
// NSString+Test.m
#import "NSString+Test.h"
@implementation NSString_Test
@end
1-4. 생성된 파일 수정
생성된 파일에서 아래와 같이 @interface와 @implementation 부분을 수정한다.
// NSString+Test.h
#import <Foundation/Foundation.h>
// @interface 클래스명 (카테고리명)
@interface NSString (Test)
@end
// NSString+Test.m
#import "NSString+Test.h"
// @implementation 클래스명 (카테고리명)
@implementation NSString (Test)
@end
2. 메서드 추가
사용할 메서드를 추가한다.
// NSString+Test.h
#import <Foundation/Foundation.h>
@interface NSString (Test)
+(void)printHelloWorld;
@end
// NSString+Test.m
#import "NSString+Test.h"
@implementation NSString (Test)
+(void)printHelloWorld {
NSLog(@"HelloWorld!");
}
@end
3. 메서드 호출
추가한 메서드를 호출해서 사용하는 방법
// ViewController.m
#import "NSString+Test.h"
- (void)viewDidLoad {
[NSString printHelloWorld];
}
4. 결과 로그
HelloWorld!
반응형
'iOS > Swift + Objective-c' 카테고리의 다른 글
[iOS] CSR(인증서 서명 요청) 생성 방법 (Certificate Signing Request) (0) | 2021.11.15 |
---|---|
[iOS] 기업용 앱 신뢰 설정 (신뢰할 수 없는 기업용 개발자) (0) | 2021.11.06 |
[iOS] TextField, TextView 키보드에 가려지는 현상 해결, 포커스 이동 (IQKeyboardManager) (0) | 2021.10.21 |
[iOS] framework 생성 및 사용 방법 (2 - 사용 방법) (0) | 2021.10.20 |
[iOS] framework 생성 및 사용 방법 (1 - 생성 방법) (0) | 2021.10.19 |