iOS/Swift + Objective-c

[Objecitve-c] Category(카테고리) 사용 방법

안경 쓴 귀니 2021. 11. 2. 21:38
반응형

iOS Category(카테고리) 사용 방법

 

Category란?

 

기존에 정의된 클래스를 쉽게 확장할 수 있게 해주는 기능

 

 

사용 방법

 

1. 카테고리로 확장할 클래스 생성

 

1-1. Xcode File > New > File > Cocoa Touch Class 선택

 

iOS > Cocoa Touch Class 선택

 

1-2. 네이밍 규칙

Class 파일명은 확장할  클래스 이름+카테고리명으로 지정해야 한다.

아래 사진에서는 NSString+Test 로 지정했다.

 

Class 네이밍 규칙 확인 (클래스 이름+카테고리명)

 

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!

 

반응형