반응형

Objective-C 2

Objective C 대괄호와 +, -의 정체 (메시지는 무엇인가)

Objective C 코드를 보다보니 말도안되는 Syntax가 많이 보인다. 그중 제일 이해안되는 [] 대괄호에 대해 고수분들께 문의했고오늘 배운것을 정리해본다. 일단 예제소스를 써보자UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(23,28,258,20) ]; 이게 문제의 출발이다이 말도안되는 소스는 대체 무엇인가일단 여기서 왼쪽절은 titleLabel이라는 UILabel 포인터 변수를 선언한거다. 여기까지는 소양 우측 UILabel alloc 은 내가 알고있는 객체지향 개념으로는 new라고 보면 된다고 하셨다.메모리를 할당해야 그 포인터 주소가 나오니까 그걸 alloc (메모리할당) 한거다. 그럼 그렇게 나온 놈한테 initWithFr..

IT/Android iOS 2017.09.05

Objective C / Swift에 등장하는 NS의정체

몇 해 전 iOS앱개발을 시작하면서부터 궁금했던 NSString/ NSLog / NS블라블라 의 정체를 우연히 Objective C 입문서에서 발견해서 그 내용을 옮겨본다. 이전에 이야기했듯이 오브젝티브씨는 아주 약간 특별한 양념을 친 C와 같기 때문에 원한다면 NSLog대신 printf를 그냥 쓸 수도 있다. 그러나 시간과 날짜가 함께 출력되는 기능이나 새 라인 문자를 자동으로 넣어주는 등 부가적인 기능이 있으니 NSLog를 사용하기를 추천합니다. NSLOG라는 함수 이름이 좀 낯설게 느껴질 수 있다. 함수 이름의 NS는 무슨 의미일까? 읽더보면 코코아의 모든 함수 상수 타입 이름에 NS가 앞에 붙는 것을 볼 수 있다. 이 접두사는 함수가 다른 툴킷에서 온 것이 아니라 코코아에서 왔다는 것을 알려준다...

IT/Android iOS 2017.09.05
반응형