아이폰 어플 개발 , Selector 의 이용과 클래스 정보 보는 방법


지금까지 만들어봤던 NSString, NSURL, NSProcessInfo, NSDictionary 등과 NSMutableString을 인스턴스화해서
배열(NSMutableArray)에 넣어라.


그리고 아래를 수행하라.


1. 오브젝트의 클래스명을 출력하라
2. 오브젝트가 NSString 클래스인지 출력하라
3. 오브젝트가 NSString의 서브클래스인지 출력하라
4. 오브젝트가 "lowercaseString"를 지원하는지 출력하라
5. "lowercaseString"를 지원하는 오브젝트라면 performSelector:를 이용하여 결과를 출력하라


<예상하는 결과 형식>

2008-01-10 20:56:03 WhatATool[360] Class name: NSCFString
2008-01-10 20:56:03 WhatATool[360] Is Member of NSString: NO
2008-01-10 20:56:03 WhatATool[360] Is Kind of NSString: YES
2008-01-10 20:56:03 WhatATool[360] Responds to lowercaseString: YES
2008-01-10 20:56:03 WhatATool[360] lowercaseString is: hello world!
2008-01-10 20:56:03 WhatATool[360] ======================================
2008-01-10 20:56:03 WhatATool[360] Class name: NSURL
2008-01-10 20:56:03 WhatATool[360] Is Member of NSString: NO
2008-01-10 20:56:03 WhatATool[360] Is Kind of NSString: NO
2008-01-10 20:56:03 WhatATool[360] Responds to lowercaseString: NO
2008-01-10 20:56:03 WhatATool[360] ======================================
2008-01-10 20:56:03 WhatATool[360] Class name: NSCFDictionary
2008-01-10 20:56:03 WhatATool[360] Is Member of NSString: NO
2008-01-10 20:56:03 WhatATool[360] Is Kind of NSString: NO
2008-01-10 20:56:03 WhatATool[360] Responds to lowercaseString: NO
2008-01-10 20:56:03 WhatATool[360] ======================================


<힌트>
아마도 NSString과 같은 클래스 명이 예상치 않은 결과가 나올수 있지만
그건 implementation의 문제이니 여기선 그냥 넘어가도록 한다.


<실습>
NSString, NSURL, NSProcessInfo, NSDictionary, NSMutableString을 만든다.


NSString *myString = @"Hello World!";
NSURL *myURL = [NSURL URLWithString:@"
http://www.stanford.edu"];
NSProcessInfo *myProcess = [NSProcessInfo processInfo];
NSDictionary *myDictionary = [NSDictionary dictionary];
NSMutableString *myMutableString = @"This is a mutable string object";


NSMutableArray를 만들고 위의 오브젝트들을 추가한다.


NSMutableArray *array = [NSMutableArray array];
[array addObject:myString];
[array addObject:myURL];
[array addObject:myProcess];
[array addObject:myDictionary];
[array addObject:myMutableString];


루프를 돌며 클래스 정보를 출력한다.


■ 오브젝트의 클래스명을 출력하라


모든 오브젝트는 NSObject를 계승하니까... NSObject reference를 찾아보자.

- (NSString *)description 이라고 하니까, 클래스 설명이 나와버린다.

구글 검색을 해보니까 className을 쓰면 된다고 한다.

[obj className];

왜 NSObject의 리퍼런스에 나와있지 않은지 모르겠지만 아마도 다른 연관이 있는듯. 일단 나오니까 스킵.


 오브젝트가 NSString 클래스인지 출력하라
- (BOOL)isMemberOfClass:(Class)aClass 이용


오브젝트가 NSString의 서브클래스인지 출력하라
- (BOOL)isKindOfClass:(Class)aClass 이용


오브젝트가 "lowercaseString"를 지원하는지 출력하라
- (BOOL)respondsToSelector:(SEL)aSelector 이용


"lowercaseString"를 지원하는 오브젝트라면 performSelector:를 이용하여 결과를 출력하라
- (id)performSelector:(SEL)aSelector 이용

Selector 란 컴파일된 오브젝트의 메소드를 가르키는 이름이라고 한다.

즉, performSelector: 같은 메소드에 Selector를 지정함으로써 실행할수 있다는 뜻이다.

<결과>

성공!!!



출처 : http://blog.naver.com/PostView.nhn?blogId=katchup00&logNo=10075791909
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플정보2010. 6. 26. 09:51
아이폰,아이팟터치용 전세계 앱스토어 순위 보는 App - Global Apps

앱스토어 연결 (무료)

Global Apps는 제목그대로 전세계 앱스토어 순위를 쉽게 찾아볼 수 있는 App 입니다.

개발하시는 분들이 App 분석 하실 때 유용하게 쓰일 것 같습니다. 

App 개발 하시는 분들 다운받아 놓으세요. 무료입니다.

실행하면 국가 목록이 뜹니다. A B C D 순으로 정렬되 있어 찾기 쉽습니다.

그리고 오른쪽에 세로로 A B C D... 로 되 있는건 퀵 이동바 입니다.이 바를 스크롤하면 빠르게 이동할 수 있습니다.

나라 이름을 외우고 있다면 검색해서 찾는게 제일 빠르겠죠..^^

국가를 선택하면 앱스토어와 같은 카테고리 목록이 나옵니다. 카테고리를 선택하면 순위를 볼 수 있습니다.

이 카테고리 목록은 국가에 상관없이 고정되 있습니다.

그래서 한국 앱스토어에도 Game 카테고리는 있지만 들어가면 아무 것도 없습니다.

국가에서 지원하는 카테고리만 표출됐으면 하는 아쉬움이 있습니다.



출처 : http://blog.naver.com/PostView.nhn?blogId=ghostsbs&logNo=99410064
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플정보2010. 6. 26. 00:20
아이폰으로 밤하늘과 행성정보를 보는 무료앱 - Planets (아이폰, 아이팟터치, 추천)

앱스토어 평점 : 3.5 / 5.0

앱스토어 연결 : 무료버전

오염과 불빛때문에 도심에서 밤하늘의 별 보기 정말 어렵습니다. 가상으로나마 아이폰으로 밤하늘의 별들을 볼 수 있는 무료앱이 있어 소개합니다. Planets는 하늘을 2D, 3D로 보여주고 태양계 행성들에 대한 정보와 3차원 모습을 볼 수 있습니다. 무료앱이지만 쓸만한 정보를 담고 있습니다.

밤하늘의 별보기 - 2D

가장 기본이 되는 기능인 하늘을 보는 기능입니다. 밤에는 별자리를 보여줍니다. 상단의 SN(남북) WE(동서) 버튼을 누르면 하늘이 회전해 사용자 위치와 비슷하게 맞춰서 볼 수 있게 해줍니다.

이 화면은 낮에 본 화면입니다. 낮에는 별자리가 아닌 태양과 행성 위치가 보이네요.

행성을 클릭하면 행성에 대한 간략한 정보를 볼 수 있습니다. 자세한 정보는 Visibility 메뉴를 이용하면 됩니다.

밤하늘의 별보기 - 3D

2D 하늘을 3차원으로 볼 수 있는 기능입니다. 터치&드래그로 이리저리 돌려가면서 볼 수 있습니다.

2D와 달리 별자리명과 행성명까지 표기되네요. 별자리들 사이로 보이는 행성은 토성(Saturn)입니다.

여러가지 View 모드들을 제공하는데요. 배경화면이 바뀌는 것 외엔 별다른 효과는 없습니다.

X-Ray, Visible(일반모드), Hydrogen α, Infrared, Microwave, Radio등 총6가지가 있습니다.

행성 정보 보기

위에서 간략하게 볼 수 있었던 행성정보를 상세하게 볼 수 있는 항목입니다.

태양계의 거의 모든 행성에 대한 정보를 볼 수 있습니다.

시간과 막대그래프는 행성을 볼 수 있는 시간대를 나타낸 것입니다.

태양을 예를 들면 오전 6시 39분 부터(일출) 오후 6시 41분 까지(일몰)볼 수 있는 것으로 나옵니다.

달에 대한 정보를 보니 언제 달모양이 변하는지 명칭이 무엇인지 자세하게 나옵니다. 3월 30일에 보름달이 뜨는군요.

이번엔 해왕성에 대한 정보입니다. 해왕성은 13개의 달을 갖고 있네요. 달의 명칭도 확인할 수 있습니다.

행성 보기

행성을 3차원 그래픽으로 보여주는 기능입니다. 지구의 제가 살고 있는(한국)을 보니 깜깜한 밤이네요.

이리저리 돌리고 확대/축소할 수 있습니다.

달과 화성을 본 모습입니다.



출처 : http://blog.naver.com/PostView.nhn?blogId=ghostsbs&logNo=102611812
Posted by 오늘마감

댓글을 달아 주세요

아이폰뉴스2010. 6. 24. 11:41
한눈에 보는 iPhone vs Google Nexus One vs Motorola Droid 비교
새해 첫 포스팅이 모바일 기기 관련 포스팅이네요. 오늘 두군데서 iPhone과 Google이 새로 발표한 Nexus One 그리고 상당히 호평을 받고 있는 Motorola의 Droid 단말에 대한 비교를 봤습니다. 그래서 한눈에 보기 좋게 포스팅!!

첫번째는 위의 세가지 + Palm Pre에 대한 비교 차트가 Mashable에 올라왔네요.(via @likejazz)

하지만 역시 요즘은 동영상 시대죠. 위의 세가지 기기의 브라우징 테스트 동영상이
Engadget에 올라왔습니다.(via clien)


clien에 원문을 올리신 분이 이렇게 표현 했네요.
"아이폰 >>>>넘사벽>>> 넥서스원 >> 모토롤라 드로이드"

하하하... 멋지네요.


출처 : http://blog.naver.com/PostView.nhn?blogId=arachi76&logNo=20097440593
Posted by 오늘마감

댓글을 달아 주세요