본문 바로가기
[Objective-C] performSelector: 가 경고를 뿜는다? [Objective-C] performSelector: 가 경고를 뿜는다? http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown -Manual Memory Management 시절에서는 performSelector: 가 OK!! -ARC 의 등장으로 performSelector: 는 경고를 내뿜게 되었고.. -Swift 에서는 performSelector: 를 접근하지 못하게 하고, 문서에도 unsafe 하니 쓰지 말라고 해놓았다. -ARC 이후에 performSelector: 를 쓰고 싶다면 이런 방식으로 사용하는 것이 권장된다.ARC 가 detect 하지 못하는 .. 2017. 12. 9.
[ios] GCD ( Grand Central Dispatch ) Tutorial [ios] GCD( Grand Central Dispatch) Tutorial 참조 : http://www.letmecompile.com/gcd-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC/ 디스패치 큐의 종류 -Custom Serial & Concurrent Dispatch Queuedispatch_queue_t serialQueue = dispatch_queue_create(“queueSerial”, DISPATCH_QUEUE_SERIAL);dispatch_queue_t concurrentQueue = dispatch_queue_create(“queueConcurrent”, DISPATCH_QUEUE_CONCURRENT); -System Dispatch Queuedispatch_.. 2017. 10. 24.
[Effective Objective-C] #36 retainCount 를 사용하지 말라 [Effective Objective-C] #36 retainCount 를 사용하지 말라 출처 : Effective Objective-C -NSObject 프로토콜에 정의된 이 메서드로 객체의 현재 리테인 수를 얻을 수 있다.- (NSUInteger)retainCount -그러나 ARC 는 이 메서드를 폐기했다.실제로 ARC 를 사용하면서 retain, release, autorelease 를 호출하는 것처럼 retainCount 를 호출하면 컴파일러가 에러를 던질 것이다.이 메서드가 공식적으로 폐기 되었는데도 많은 사람들이 잘못 이해하고 있다. -ARC 를 사용하지 않는다면 이 메서드를 사용할 수 있고 컴파일 에러도 받지 않을 것이다.그렇기 때문에 이 메서드를 사용하지 말아야 하는 이유를 반드시 알아야.. 2017. 9. 30.
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #25 ~ #32 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #25 ~ #32 출처 : Effective Objective-C #25 : 서드 파티 클래스에는 반드시 카테고리 이름을 접두어로 붙이라 자신이 소유하지 않은 클래스에 카테고리를 추가할 때는 항상 카테고리 이름에 접두어를 붙이라. 자신이 소유하지 않은 클래스에 카테고리를 추가할 때 카테고리의 메서드에도 접두어를 항상 붙이라. #26 : 카테고리에는 프로퍼티를 사용하지 말라 데이터를 캡슐화하는 모든 프로퍼티 선언은 메인 인터페이스 파일에서 하라. 클래스 확장 카테고리를 제외하고 카테고리 내에 프로퍼티를 선언하기보다는 접근자 메서드를 사용하라. #27 : 클래스 확장 카테고리를 이용해 상세.. 2017. 9. 26.
[Effective Objective-C] #30 ARC 를 사용하여 reference count 를 쉽게 만들라 [Effective Objective-C] #30 ARC 를 사용하여 reference count 를 쉽게 만들라 출처 : Effective Objective-C -Clang 컴파일러 프로젝트(맥 OS X 와 iOS 개발에 사용되는 컴파일러 프로젝트)는 문제가 있는 참조 세기의 위치를 가리킬 수 있게 정적 분석기를 도입했다.이 정적 분석기를 통해 메모리 누수가 있다고 알려줄 수 있다.어디에 메모리 관리 문제가 있는지도 알려줄 수 있다.이것이 ARC 가 만들어진 배경이다. -ARC 는 이름이 말하는 그대로의 일을 한다.즉 reference counting 을 자동으로 한다.그래서 이전 코드 조각에서는 release 등을 써 주던 것을 이제는 하지 않아도 ARC 가 알아서 추가해준다. -ARC 를 사용할 때.. 2017. 9. 23.
[Effective Objective-C] #29 참조 세기를 이해하라 [Effective Objective-C] #29 참조 세기를 이해하라 출처 : Effective Objective-C -메모리 관리는 오브젝티브-C 같은 객체 지향 언어에서 중요한 개념이다.어떠한 객체 지향 언어든 그 언어의 메모리 관리 모델을 깊이 이해하고 있으면 메모리를 효과적으로 사용하고 버그가 없는 코드를 작성할 수 있다.이 법칙을 이해하고 나면 오브젝티브-C 의 메모리 관리가 더는 복잡하지 않고 ARC 를 쉽게 사용할 수 있을 것이다.ARC 는 거의 모든 메모리 관리에 대한 결정을 컴파일러에 넘긴다.그래서 개발자는 비지니스 로직에만 집중할 수 있다. -오브젝티브-C 는 메모리 관리를 위해 reference count 를 사용한다.객체가 계속 살아 있길 원하면 count 수를 올리고, 그 객체의.. 2017. 9. 22.
[android] Kiosk mode app 을 만들자! [android] Kiosk mode app 을 만들자! http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/ -Kiosk mode 가 무엇을 말하는가?다른 앱은 실행되지 않는 single app 만 실행하는 그런 앱을 이야기한다. -고려해야 할 상황들은 다음과 같다. back button home button recent app button power button volume button -먼저 kiosk 는 부팅과 동시에 해당 앱이 시작되어야 하기 떄문에, boot complete br 을 처리해야 한다. @Manifest @BootReceiverpublic class BootRec.. 2017. 8. 7.
[Effective Objective-C] #6 프로퍼티를 이해하라 [Effective Objective-C] #6 프로퍼티를 이해하라 출처 : Effective Objective-C -프로퍼티는 객체가 포함한 데이터를 캡슐화하는 방법을 제공하는 Objective-C 의 기능이다. -인스턴스 변수는 항상 접근자 메서드(accessor method)를 통해 접근한다.Objective-C 2.0 배포판에 프로퍼티라는 기능으로 포함되었다.이 기능으로 개발자는 접근자 메서드들을 자동으로 생성하라고 컴파일러에 알려줄 수 있다.프로퍼티는 점(.) 문법이라는 새로운 방법을 제공한다.점 문법 덕분에 클래스에 저장된 데이터에 접근하는 방법이 좀 덜 장황해졌다. -@interface EOCPerson : NSObject{@public NSString *_firstName; NSString.. 2017. 7. 27.
[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.
반응형