아이폰 OS 6 I이 다음과 같은 코드가 있습니다있는 NSDictionary
NSAssert(dst, @"sdiasiosadiodasio");
// Add to a list so that we don't lose the references
[layersToDsts setObject:dst forKey:layer];
NSLog(@"The key is %lu", layer);
for (Bit *layer in [layersToDsts allKeys])
{
BitHolder *dst = [layersToDsts objectForKey:layer];
NSLog(@"My added key is %lu", layer);
NSAssert(dst, @"ddddd");
}
layersToDsts가 변경 가능한 NSDictionary
입니다. 개체의 주소를 키로 사용하여 다른 개체에 매핑하려고합니다.
코드는 몇 가지 이유가 iOS 5에 근무, 코드가 분명히
The key is 484196128
My added key is 484253328
Assertion failure in -[Animator animateImpl:] 'NSInternalInconsistencyException', reason: 'ddddd'
를 제공, 나는 사전에 추가 된 개체를 검색 할 수 없습니다. 개체가 0이 아닙니다. 매핑 키가 다른 주소 인 이유는 무엇입니까 ?? 이 코드는 iOS 5에서 완벽하게 작동합니다 ....
하지만 내 코드는 iOS 5에서 작동했습니다 ... – SmallChess
@StevenFisher 나는 이것이 복제본에 동의하지 않습니다 ... 키가 복사되는 것에 대해 묻지 않습니다. 코드가 실패한 이유를 묻고 있습니다. 분명히 깨닫지 못합니다. 키가 복사됩니다. –
흠. 공정하다. 여전히 그 사본이 그 이유입니다. 사전에 키를 복사해야하는 코드는 iOS 버전에서 작동하지 않아야합니다. 이 점을 이해하려면'Layer'의 정의를보아야 할 것 같습니다. –