나는 취미로 이제 다음 모든 코딩과 혼란에 좋아하고 나는 애플 개발자 문서의 일부에 익숙하지 않은 구문을 발견 :브라켓 구문은
newSectionsArray[index]
내가 일반적으로 같은 기대 :
[object method]
이 사람이 나에게 이것을 설명 할 수 있습니까?
감사합니다.
나는 취미로 이제 다음 모든 코딩과 혼란에 좋아하고 나는 애플 개발자 문서의 일부에 익숙하지 않은 구문을 발견 :브라켓 구문은
newSectionsArray[index]
내가 일반적으로 같은 기대 :
[object method]
이 사람이 나에게 이것을 설명 할 수 있습니까?
감사합니다.
[newSectionsArray objectAtIndexedSubscript:index];
NSDictionary
구현이 너무 첨자
newSectionsArray[index]
수록,
그것의 문법 설탕 here을 설명 된대로 액세스 할 수 있도록 그것은, 객체 첨자라고 이러한 방식의 요소 :
dictionary[@"key"]
멋진 (잠재적으로 위험한) 기능은 일반화되어있어 자신의 수업에도 적용 할 수 있다는 것입니다.
당신은 방법
(인덱스 액세스)
- (id)objectAtIndexedSubscript:(NSUInteger)idx;
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx;
또는 (맞 액세스)
- (id)objectForKeyedSubscript:(id)key;
- (void)setObject:(id)obj forKeyedSubscript:(id)idx;
당신은 그들이 당신 때마다 호출 될 몇 가지를 구현해야 사용자 정의 클래스의 인스턴스에서 대괄호 표기법을 사용하십시오.
그래서 당신은 그리드 기반의 게임을 코딩하고board[@"B42"]; // => [board objectForKeyedSubscript:@"B42"]
에 의해 그리드의 요소에 액세스하거나
board[@"C42"] = @"Troll"; => [board setObject:@"Troll" forKeyedSubscript:@"C42"];
니스하여 보드에 조각을 이동 끝낼 수 있었다, 그러나 나는 같으면 그것의 학대.
이것은 Clang 3.4에 소개 된 literal syntax입니다. 그러나 이전 구문 인 [newSectionsArray objectAtIndex:index]
을 사용할 수 있습니다. 그건 같은거야.
Objective-C 2.0은 오래되었고 10.5와 함께 제공됩니다. 하지만 어쨌든 이상한 버전 관리 협약입니다. 내부적으로 우리는 버전 4-532.2에 있으며, 현재까지 2에서 멀리 떨어져 있습니다.0 (그러나 나는 진화론 적 변화가 잘 팔리지 않는다고 생각한다.) – JustSid
@JustSid 죄송합니다. 먼저 확인 했어야합니다. –
newSectionsArray
은 배열 (즉, 같은 유형의 여러 객체로 이루어진 연속 블록)이고 정수는 index
입니다. newSectionsArray[index]
은 index
(0부터 시작) 위치의 개체를 제공합니다.
'newSectionsArray'는이 경우 NSArray 또는 NSMutableArray이고 어떤 객체 유형 ('id') 이건 저장할 수 있습니다 (** 동일한 유형이 아니어야 함 **) – HAS
'[yourArray objectAtIndex : index] '에 대한 구문 설탕 – HAS