indexOfObject第一次返回0而不是NSNotFound

Jul*_*anB 1 iphone objective-c nsarray ios

我在a中有一个表UIPopoverController,viewDidAppear我检查了存储在standardUserDefaults中的单元格标签的值.(所以我可以使用最后选择的选项).

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *lastMenu = [prefs objectForKey:@"location"];

NSUInteger index = [__menuTitles indexOfObject:lastMenu];

NSLog(@"lastMenu is %@",lastMenu);
NSLog(@"lastMenu index is %i",index);
Run Code Online (Sandbox Code Playgroud)

在第一次激活菜单时生成此选项

lastMenu is 
lastMenu index is 0
Run Code Online (Sandbox Code Playgroud)

后续点击正确报告2147483647的含义 NSNotFound

lastMenu is 
lastMenu index is 2147483647
Run Code Online (Sandbox Code Playgroud)

为什么0第一次返回?

这是阵列

__menuTitles = [[NSArray alloc] initWithObjects:
                @"North America", 
                @"Western Europe", 
                @"Asia Pacific", 
                @"Latin America", 
                @"Central & Eastern Europe", 
                @"Middle East", 
                @"Africa", 
                nil];
Run Code Online (Sandbox Code Playgroud)

Jos*_*erg 8

可能意味着这__menuTitlesnil第一次.发送消息nil将导致返回0.