Item 47: Familiarize Yourself with the System Frameworks Item 48: Prefer Block Enumeration to for Loops - Fast Enumeration // Array NSArray *anArray = /* ... */; for (id object in anArray) { // Do something with 'object' } // Dictionary NSDictionary *aDictionary = /* ... */; for (id key in aDictionary) { id value = aDictionary[key]; // Do something with 'key' and 'value' } // Set NSSet *aSet = /..
GCD is the associated technology and provides an abstraction to threading, based on so-called dispatch queues. Blocks can be enqueued on these queues, and GCD handles all scheduling for you. It creates, reuses, and destroys background threads as it sees fit, based on system resources, to process each queue. Moreover, GCD provides easy-to-use solutions to common programming tasks, such as thread-..
Item 29: Understand Reference Counting NSMutableArray *array = [[NSMutableArray alloc] init]; NSNumber *number = [[NSNumber alloc] initWithInt:1337]; [array addObject:number]; [number release]; // do something with 'array' [array release]; As explained previously, this code won’t compile under ARC, owing to the explicit calls to release. In Objective-C, a call to alloc will result in the return ..
Item 23: Use Delegate and Data Source Protocols for Interobject Communication @protocol EOCNetworkFetcherDelegate - (void)networkFetcher:(EOCNetworkFetcher*)fetcher didReceiveData:(NSData*)data; - (void)networkFetcher:(EOCNetworkFetcher*)fetcher didFailWithError:(NSError*)error; @end A delegate protocol is usually named as the class name followed by the word delegate, using camel casing for the ..
Item 15: Use Prefix Names to Avoid Namespace Clashes Item 16: Have a Designated Initializer Item 17: Implement the description Method - (NSString*)description { return [NSString stringWithFormat:@"", [self class], self, _firstName, _lastName]; } If this were to be used, the output for an object of type EOCPerson would now look like the following: EOCPerson *person = [[EOCPerson alloc] initWithFi..
Item 6: Understand Properties 프로퍼티 속성 중 Memory-Management 관련된 속성인데 - assign : The setter is a simple assign operation used for scalar types, such as CGFloat or NSInteger. - strong : This designates that the property defines an owning relationship. When a new value is set, it is first retained, the old value is released, and then the value is set. - weak : This designates that the property define..
Item 1: Familiarize Yourself with Objective-C's Roots Item 2: Minimize Importing Headers in Headers When writing an import into a header file, always ask yourself whether it’s really necessary. If the import can be forward declared, prefer that. If the import is for something used in a property, instance variable, or protocol conformance and can be moved to the class-continuation category, prefe..
Objective-C 문법에서 왜 항상 변수 앞에 *로 선언하나 궁금했었는데.. NSString *someString = @"The string"; This syntax, mostly lifted straight from C, declares a variable called someString whose type is NSString*. This means that it is a pointer to an NSString. All Objective-C objects must be declared in this way because the memory for objects is always allocated in heap space and never on the stack. It is illegal to d..
- Total
- Today
- Yesterday
- 페이저타이틀스트립
- 제스처디텍터
- 뷰페이저
- 상태드로어블
- 부가데이터
- 전화연결하기
- objc
- 어댑터
- 액션바
- swift
- 비트맵버튼
- subscript
- 쉐이프드로어블
- Objective-C
- 다이얼연결
- 표현패턴
- 프래그먼트매니저
- 전화걸기연결
- 인플레이터
- 알림대화상자
- allcases
- 데이터
- 카카오톡열기
- 안드로이드
- 터치리스너
- 스낵바설정
- ios
- prepareforreuse
- 프래그먼트
- CaseIterable
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |