수색…


리터럴

Modern Objective C는 일반적인 유형을 초기화하는 데 필요한 코드의 양을 줄이는 방법을 제공합니다. 이 새로운 방법은 NSString 객체가 상수 문자열로 초기화되는 방법과 매우 유사합니다.

NSNumber

옛날 방식 :

NSNumber *number = [NSNumber numberWithInt:25];

현대적인 방법 :

NSNumber *number = @25;

참고 : @YES , @NO 또는 @(someBoolValue) 사용하여 NSNumber 객체에 BOOL 값을 저장할 수도 있습니다.

NSArray

옛날 방식 :

NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", [NSNumber numberWithInt:3], @"Four", nil]; 

현대적인 방법 :

NSArray *array = @[@"One", @"Two", @3, @"Four"];

NSDictionary

옛날 방식 :

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"Object", [NSNumber numberWithFloat:1.5], @"Value", @"ObjectiveC", @"Language", nil];

현대적인 방법 :

NSDictionary *dictionary = @{@"Object": array, @"Value": @1.5, @"Language": @"ObjectiveC"};

컨테이너 subscripting

현대 Objective C 구문에서는 컨테이너 subscripting을 사용하여 NSArrayNSDictionary 컨테이너에서 값을 가져올 수 있습니다.

옛날 방식 :

NSObject *object1 = [array objectAtIndex:1];
NSObject *object2 = [dictionary objectForKey:@"Value"];

현대적인 방법 :

NSObject *object1 = array[1];
NSObject *object2 = dictionary[@"Value"];

또한 배열에 객체를 삽입하고 사전에있는 키에 대한 객체를 더 깨끗한 방법으로 설정할 수 있습니다.

옛날 방식 :

// replacing at specific index
[mutableArray replaceObjectAtIndex:1 withObject:@"NewValue"];
// adding a new value to the end
[mutableArray addObject:@"NewValue"];

[mutableDictionary setObject:@"NewValue" forKey:@"NewKey"];

현대적인 방법 :

mutableArray[1] = @"NewValue";
mutableArray[[mutableArray count]] = @"NewValue";

mutableDictionary[@"NewKey"] = @"NewValue";


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow