当我尝试枚举NSMutableDictionary时,我发现64位平台存在一个奇怪的问题。我有如下代码,
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
NSArray *expectedKeysArray = [NSArray arrayWithObjects:@"K1", @"K2", @"K3", @"K4", @"K5", nil];
NSArray *expectedValuesArray = [NSArray arrayWithObjects:@"V1", @"V2", @"V3", @"V4", @"V5", nil];
for (int i = 0; i < [expectedKeysArray count]; i++) {
[dictionary setObject:[expectedValuesArray objectAtIndex:i]
forKey:[expectedKeysArray objectAtIndex:i]];
}
for (NSString *key in dictionary) {
NSLog(@"key %@",key);
}
当我在32位模拟器中运行上面的代码时,在for循环中划线
NSLog(@"key %@",key);
正在执行并且快速枚举工作正常。但是当我在64位模拟器中运行上述代码时,它甚至没有进入for循环并且快速枚举不起作用。任何人都面临类似的问题?.I使用Xcode 5.1,iOS 7.1