본문 바로가기
[Effecitve Objective-C] #2 헤더에 헤더를 포함하는 것을 최소화하라 [Effecitve Objective-C] #2 헤더에 헤더를 포함하는 것을 최소화하라 출처 : Effective Objective-C - Objective-C 는 C, C++ 처음 헤더 파일과 구현 파일을 사용한다. Objective-C 로 클래스를 작성할 때 쓰는 표준적인 방법은 클래스 이름 뒤에 확장자가 .h 인 헤더 파일과 .m 인 구현 파일을 생성하는 것이다. // header #import @interface EOCPerson : NSObject @property (nonatomic, copy) NSString *nane @end // implementation #import “EocPerson.h" @implementation EOCPerson @end - Foundation.h 는 Obje.. 2017. 7. 17.
[Effecitve Objective-C] #1 Objective-C 의 기원과 친숙해져라. [Effecitve Objective-C] #1 Objective-C 의 기원과 친숙해져라. 출처 : Effective Objective-C -오브젝티브-C 는 매우 동적인 언어이다.언어의 기원이 스몰토크(Small Talk) 이다.대다수 언어가 컴파일 시간에 하는 일들을 오브젝티브-C 는 실행 시간에 한다. -함수 호출이 아닌 메시징 구조(Messaging Structure)를 사용한다.Objective-C 는 메시징을 처음 사용한 스몰토크로부터 진화했다.메시징과 함수 호출은 다음과 같이 차이점이 있다. // 메시징Object *obj = [Object new];[obj performWith:param1 and:param2]; // 함수 호출Object *obj = new Object;obj->perf.. 2017. 7. 16.
[iOS Study] 병렬 프로그래밍 가이드 ( dispatch source ) [iOS Study] 병렬 프로그래밍 가이드 ( dispatch source ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/GCDWorkQueues/GCDWorkQueues.html#//apple_ref/doc/uid/TP40008091-CH103-SW1 About dispatch source -dispatch source 는 low-level system event 를 처리하기 위한 data type 이다. -Timer dispatch source 는 주기적인 noti 를 만든다. -Signal dispatch source 는 UNIX signal 이 도착하면 not.. 2017. 7. 3.
[iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) [iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html#//apple_ref/doc/uid/TP40008091-CH101-SW1 Operation Object 에 대한 이야기 -Operation object 는 NSOperation class 의 인스턴스를 이야기한다.NSOperation class 는 abstract base class 로 subclass 를 구현해야 한다. -NSInvocationOperation 과 NSBlock.. 2017. 7. 2.
[iOS Study] 병렬 프로그래밍 가이드 ( 병렬 앱 디자인 ) [iOS Study] 병렬 프로그래밍 가이드 ( 병렬 앱 디자인 ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/ConcurrencyandApplicationDesign/ConcurrencyandApplicationDesign.html#//apple_ref/doc/uid/TP40008091-CH100-SW1 -전통적 방법으로의 복수개의 코어를 사용하는 방법은 여러개의 thread 를 만들어 사용하는 것이다.그러나 thread 를 사용한 코드는 scale 측면에서 좋지 않다.core 가 처리하기 좋은 thread 의 갯수를 아는 것도 쉽지 않고, thread 들을 효율적으.. 2017. 7. 1.
[iOS] can't return type callbacks for 3 [iOS] can't return type callbacks for 3 ABMutableMultiValueRef multiValueRef = ABMultiValueCreateMutable(kABPersonPhoneProperty);for ( DataModel* model in array ){ ABMultiValueAddValueAndLabel(multiValueRef, (__bridge CFTypeRef)model, model, NULL);}ABRecordSetValue(self.record, property, multiValueRef, nil);CFRelease(multiValueRef); 위와 같이 코딩을 했더니 "can't return type callbacks for 3" 에러가 났다.여기서 kA.. 2017. 6. 28.
[iOS] Java 의 equals 구현하기 [iOS] Java 의 equals 구현하기 -iOS 의 NSObject 의 (BOOL)isEqual:(id)object 가 equals 함수에 매칭하는 함수이다. -Java의 instanceof 는 [NSObject isKindOfClass:[TargetObject class]] 를 통해 확인할 수 있다. -isEqual 을 override 할 때는 (NSUInteger) hash 함수도 override 하는 것이 좋다. bool, CLASS, equals, hash, ID, instanceof, IOS, isEqual, iskindofclass, Java, nsobject, nsuinteger, object, override, [iOS] Java 의 equals 구현하기 2017. 6. 27.
[iOS] 연락처의 Favorite 정보를 AddressBook 을 통해 가져올 수 있는가? [iOS] 연락처의 Favorite 정보를 AddressBook 을 통해 가져올 수 있는가? http://stackoverflow.com/questions/6917329/find-favorite-contacts-from-the-ios-address-book-api -iOS 의 Favorite 정보는 연락처 앱이 아닌 전화 앱에서 관리가 된다.그래서 탈옥한 환경이 아니라면 다른 app 의 sandbox 에 접근할 수 없어 favorite 정보를 가져올 수 없다. addressbook, Favorite, IOS, Sandbox, [iOS] 연락처의 Favorite 정보를 AddressBook 을 통해 가져올 수 있는가?, 앱, 연락처, 탈옥 2017. 6. 26.
[iOS] ABAddressBook 을 사용하려면 permission 이 필요하다. [iOS] ABAddressBook 을 사용하려면 permission 이 필요하다. http://www.raywenderlich.com/63885/address-book-tutorial-in-ios -address book 에 접근하기 위해서는 permission 이 필요하다. ( 6.0 부터.. )현재 permission 에 대한 check 는 아래에서 가능하다 ABAuthorizationStatus contactsAuthStatus = ABAddressBookGetAuthorizationStatus();if (contactsAuthStatus == kABAuthorizationStatusDenied || contactsAuthStatus == kABAuthorizationStatusRestricted.. 2017. 6. 25.
반응형