A colossal Dreamer: GR鐵塔-天生我材

[아이폰:오브젝티브C] 형식 비교하기 본문

Development/아이폰

[아이폰:오브젝티브C] 형식 비교하기

江多林 2010. 1. 28. 23:16


아궁. 역시 언어가 바뀌면, 가장 근본적인 문제로 인해서 머리를 뽑게 된다..
아래 예제를 참조하자..

자바의 class 속성과 비슷하게 오브젝티브C도 class 라는 메소드를 제공한다.
     하지만, typeof({instance}) 형식을 제공하지 않고, 인스턴스에 대해서도 동일하게 호출하여 처리한다.

주) NSString의 경우에는 NSString을 상속받아 구현한 NSCFString 등의 객체가 실제로 인스턴스의 형식이
     되어, isKindOfClass 를 써야하기도 한다.

사용법은 아래를 참조하자.

NSArray *viewControllers = ((UITabBarController*)self.tabBarController).viewControllers;

NSUInteger i, count = [viewControllers count];
for (i = 0; i < count; i++) {

NSObject * obj = [viewControllers objectAtIndex:i];

if ( [obj class] == [UINavigationController class]) {
// if ( [obj isKindOfClass:[UINavigationController class]) {

NSLog(@"UINavigationController");

UINavigationController *navCtrl = (UINavigationController*)obj;

PopViewController* popViewCtrl = [[PopViewController alloc] initWithNibName:@"PopViewController" bundle:nil];
[navCtrl presentModalViewController:popViewCtrl animated:NO];

}

}