최초 작성일 : 2010/04/11 09:00


사용된 메서드 정리


메서드명 : - (NSArray *)componentsSeparatedByString:(NSString *) separator

기능 : separator 구분자로 하여 분리된 배열을 반환함

선언된 클래스 : NSString


메서드명 : + (NSArray *)knownTimeZoneNames:

기능 시스템이 알고있는 모든 time zone의 ID를 문자열 배열로 반환함

선언된 클래스 : NSTimeZone


메서드명 : + (id)timeZoneWithName:(NSString *)aTimeZoneNZme

기능 : 인자로 넘어온 ID와 일치하는 time zone 객체를 반환

선언된 클래스 : NSTimeZone


메서드명 : - (id)initWithKey:(NSString *)keyPath ascending:(BOOL)ascending

기능 : 인자로 넘어온 key path를 정렬기준으로 역시 인자로 넘어온 정렬 순서를 적용하고

   기본 비교 selector를 통해 초기화된 NSSortDescriptor 객체를 반환한다.


          ascending인자가 YES이면 오름차순 NO이면 내림차순 정렬한다.

선언된 클래스 : NSSortDescriptor


메서드명 : - (id)initWithObject:(const id *)object count:(NSUInteger)count

기능 : 인자로 넘어온 C array로부터 count 갯수만큼의 객체를 뽑아 포함시키는 새로운 배열을 할당함

언된 클래스 : NSArray 클래스


메서드명 : -(void)sortUsingDescriptor:(NSArray *)sortDescriptors

기능 : 인자로 넘어온 NSSortDescriptor 객체의 배열을 사용하여 배열을 정렬함.

선언된 클래스 : NSMutableArray


블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요

최초 작성일 : 2010/04/10 16:24 



Objective-c에서의 메서드는 크게 클래스 메서드와 인스턴스 메서드로 나눌 수 있다.


1. Class Method

클래스 메서드는 클래스 인스턴스가 아닌 클래스에서 바로 사용 할 수 있는 메서드로
선언시에 + 기호로 시작을 한다. java 언어의 static 메서드와 유사하다.

예)

+ (void) classMethod;

클래스에서 바로 사용을 할 수 이있기 때문에 함수를 호출하는 경우에도 인스턴스명을
사용하지 않고 클래스명을 사용한다.

예)
MyClass *myClass;
...
[MyClass classMethod];

만일 자기 자신의 인스턴스를 생성하는 클래스 메서드를 subclass에서 호출한 경우
리턴되는 인스턴스는 subclass의 인스턴스이다.

예)
MyClass *myClass = [MyClass classMethod];
MySubClass *mySubClass = [MySubClass classMethod]; //MyClass의 subclass

클래스 메서드는 인스턴스 변수에 직접 접근하여 참조할 수 없다.

@interface MyClass : NSObject {
    NSString *title;
}
+ (void)classMethod;
@end

이 경우 classMethod는 title 변수를 직접 참조할 수 없다.

클래스 메서드 내에서 self를 사용하는 경우 self는 클래스 메서드가 선언된
바로 그 클래스를 의미한다.

만일 MyClass라는 클래스에 구현된 클래스 메서드 myMethod가 아래와 같다면

+ (id)myClass {
    return [[[self alloc] init] autorelease];
}

이 메서드 내에서의 self는 MyClass 클래스이다.

만일  MyClass의 서브 클래스인 MySubClass의 인스턴스를 얻고자 한다면
아래와 같이 호출해야 한다.

[MySubClass myClass];

2. instance Method

인스턴스 메서드는 - 기호로 메서드를 선언한다.

인스턴스 메서드는 클래스의 인스턴스가 생성된 후 사용할 수 있는 메서드로
클래스의 인스턴스와 생명주기를 같이 하여 인스턴스가 메모리에서 해제되면
더이상 사용을 할 수없는 메서드이다.

메서드 호출 역시 클래스 이름이 아닌 인스턴스 이름을 통하여 하게 된다.

만일 MyClass 클래스에 다음과 같이 인스턴스 메서드가 선언되어있다면

- (void) myInstanceMethod;

이 메서드는 다음과 같은 절차를 거쳐 호출될 수 있다.

MyClass *myClass = [MyClass myClass];
[myClass myInstanceMethod];

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요