3
KVC를 사용하여 사전의 2 차원 배열을 병합하려고합니다.KVC를 사용하여 사전 배열 배열
NSArray *toBeFlatten = @[@[@{@1:@1}],@[@{@2:@2}]];
NSArray *flat = [toBeFlatten valueForKeyPath:@"@unionOfArrays.self"];
// flat:@[NSNull.null, NSNull.null];
사전이 "NSNull"으로 변환되는 이유는 무엇입니까?
그러나 전체적으로 AFAIK라는 문서화되지 않은 'self'라는이 사용법을 발견하게 될 것입니다. – matt
멀리까지 생각하지는 않았지만 그 말이 완벽합니다. 실제로 잘못된 답변이 주위에 떠 다니고 있습니다. 이 답변처럼 : http://stackoverflow.com/a/17091443/270265 – melbic
@melbic 나는 내 대답에 대해 당신이 매우 감사한다고 생각하지 않는다. 안쪽 대상이 _ 사전이 아니기 때문에 당신이 지적한 "잘못된 대답"은 잘못이 아닙니다. KVC는 다른 유형의 객체에 도달 할 때 의미하는 것보다 사전에 도달 할 때 키 경로가 의미하는 것에 대한 다른 규칙을 가지고 있습니다. 예를 들어 NSNumbers 배열의 배열 일 경우 원래 코드가 작동했을 것입니다. – matt