저의 경우에는 기존에 안드로이드를 개발했기 떄문에, Objective-c를 개발하면서 몇가지가 꽤 익숙치 않고 어색하긴 합니다만, 분명히 편리하고 효율적인 측면이 있는 건 분명하다는 생각이 듭니다.
코코아는 Objective-C를 이용 해 개발을 했고, 대부분이 Objective-C를 이용해 개발이 가능합니다.
먼저 인스턴트를 생성하는 방법입니다. 기존에 만들어져 있는 클래스들을 사용해서 제작을 하게 되는데, 예를 들어 배열을 만들게 되면,
NSArray *testarray;
라고 생성을 하게 됩니다. 기존의 자바와는 달리 *라는 포인터를 만들어주게 되고, NSArray는 (NextStep)의 줄임말은 NSArray라는 기존의 있는 배열 클래스를 사용해서 만들게 됩니다. 물론 이미 만들어져 있는 클래스인 만큼, NSArray를 Jump to Definination 으로 들어가게 되면, 사용이 가능한 메서드들을 살펴볼 수 있습니다. XCode의 경우에는 굉장히 인텔리 센스가 잘 되어있더군요!( 인텔리 센스는 A 라고 치면 A 와 관련 되어 사용할 수 있는 메서드나 변수를 나타내는 것)
위와 같이 testarray를 만들고 난 뒤 메모리를 할당해주게 됩니다. 음... 자바로 치면, new 라는 부분이 되겠습니다.
메모리 할당은
testarray = [NSArray alloc];
alloc으로 할당이 가능합니다. 할당 후 초기화를 시켜야 하는데,
testarray = [NSArray alloc];
[testarray init];
라는 과정으로 사용을 하지만, testarray = ][NSArray alloc] init];
와 같이 한줄로도 주로 사용을 합니다.
다음은 메서드 사용입니다. 자바의 경우에는 메서드에 필요한 파라미터를 일일이 열거한 후 처리를 해주어야 하지만, XCode 내에서는 여러개의 인수를 포함 시킬 수가 있다는 부분입니다. 이를테면,
if(x.intersectsArc(35.0, 19.0, 23, 90, 120)
이라고 XCode내에서 표현 시 첫 숫자부터 Radius, centeredAtX, Y, fromAngle, toAngle 으로 알아서 하나의 메서드에 필요한 인수들을 위와 같이 적어주어 처리가 가능합니다. (저같은 경우 가장 성가신 부분이 바로 이부분입니다.. 익숙치가 않다보니, 꽤나 낯설어 적응을 하려면 시간이 좀 필요한 듯 싶습니다. )
위에서 언급했던 NS 에 대해 조금만 더 자세히 이야기해보자면, 이 클래스들은 ( NS가 붙은 ) 파운데이션 프레임워크의 일부로, 임의로 만드는 클래스에는 NS 는 붙이지 않기를 이야기하고 있습니다. 가장 최 상위단에는 NSObject 클래스가 있습니다. 이야기가 길어질 것 같으니 NSObject 클래스단에 대해서는 다음시간에 따로 포스팅 하겠습니다.
'옛글 > 아이폰 프로그래밍' 카테고리의 다른 글
[iOS프로그래밍] ARC(Automatic Refrence Counting) (0) | 2012.04.30 |
---|---|
[iOS프로그래밍] NSArray와 NSString (문장 잘라내기) (0) | 2012.04.28 |
[iOS프로그래밍] UIWebview로 url을 띄워보기 (0) | 2012.04.23 |
[iOS프로그래밍] 시작해보자~!(2) : 실제 프로젝트 생성해보자 (0) | 2012.04.22 |
[iOS프로그래밍] Cocoa Architecture (2) | 2012.04.22 |