NSString *yes0 = @"yes";
NSString *yes1 = @"YES";
NSString *yes2 = @"Yes";
NSString *yes3 = [NSString stringWithFormat:@"%@",yes1];
NSArray *yesArray = [NSArray arrayWithObjects:@"yes", @"YES", @"Yes", @"YES", nil];
NSArray *yesArray1 = [NSArray arrayWithObjects:yes0, yes1, yes2, yes3, nil];
NSUInteger index;
index = [yesArray indexOfObjectIdenticalTo:yes3];
NSLog(@"\nindex : %d", index); // 1st Output
index = [yesArray1 indexOfObjectIdenticalTo:yes3];
NSLog(@"\nindex : %d", index); // 2nd Output
- 第一个输出
我收到的输出是:“2013-07-18 16:42:04.896 Collections - Arrays[2778:f803] index : 2147483647”
- 第二输出
我收到的输出是:“2013-07-18 16:42:04.896 Collections - Arrays[2778:f803] index : 3”
由于收到的输出,我感到困惑。请解释一下为什么我在输出 1 中得到垃圾值的过程。据我所知,两个数组都与对象相同。那为什么这个垃圾值。
还有一个问题:
根据苹果的说法,indexOfObjectIdenticalTo:返回 - 对应数组值与 anObject 相同的最低索引。
据我了解,在 yesArray1 - yes1与yes3相同。我的期望值output 2
为 1,这与实际打印值 (3) 相矛盾。另外请让我正确理解为什么它打印 3 而不是 1。