Objective-C에서 제공하는 스트링 trim 방법이 있지만,


함수 이름과 쓰는 방법이 너무 길다.


따라서 카테고리라는 방법을 택해서 트림 함수를 따로 만들자.


카테고리란 1개의 클래스를 여러 개의 클래스로 분할하거나 클래스에 새로운 기능을 추가하기 위한 문법이다.


지금 작성한 코드는 NSString 클래스에 Trim 메소드를 추가해서 사용할 수 있게 한다.


//NSString+Trim.h


#import <Foundation/Foundation.h>


@interface NSString (Trim)

- (NSString*) trim;

@end





//NSString+Trim.m


#import "NSString+Trim.h"


@implementation NSString (Trim)

- (NSString*) trim

{

    return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

}

@end

command + /

대괄호.... []


자동입력 된다.


알아서 쓰시길... ㅋ


https://github.com/ciaran/xcode-bracket-matcher

프로젝트 - Build Settings


검색 항목에 objective-c 입력


Objective-c Garbage Collection 메뉴에서


Required 로 변경





음 하다보면 외어지겠지?

제일 많이 쓰는 구문중에 하나 니깐 자주 봐야겠다.

[자바]


public class MyClass
{

int number;


public MyClass()

{

number = 1;

}


public MyClass( int startNumber)

{

number = startNumber;

}

}


...


MyClass mc1 = new MyClass();


MyClass mc2 = new MyClass(10);



[오브젝티브C]


@interface MyClass : SuperMyClass

{

int number;

}


- (id) init;

- (id) initWithNumber: (int) startNumber;


@end


@implementation MyClass


- (id) init

{

self = [super init];


if (self != nil)

{

number = 1;

}


return (self);

}


- (id) initWithNumber: (int) startNumber

{

self = [super init];


if (self != nil)

{

number = startNumber;

}


return (self);

}


@end


...


MyClass *mc1 = [[MyClass alloc] init]; // 디폴트


MyClass *mc2 = [[MyClass alloc] initWithNumber:10]; // 매개변수


MyClass *mc3 = [MyClass new]; // 디폴트의 다른 예





















1. 초기화 메소드는 반드시 슈퍼클래스의 초기화 메소드를 호출해야 한다.


2. 반드시 self 변수에 적절한 값을 설정해야 한다.


3. 반드시 nil 인스턴스인지 확인해야 한다.


4. 반드시 자신 스스로에 대한 포인터를 반환해야 한다.

+ Recent posts