我在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);
第一次激活菜单时产生此信息
lastMenu is
lastMenu index is 0
后续点击正确报告2147483647的含义
NSNotFound
lastMenu is
lastMenu index is 2147483647
为什么第一次会返回0?
这是数组
__menuTitles = [[NSArray alloc] initWithObjects:
@"North America",
@"Western Europe",
@"Asia Pacific",
@"Latin America",
@"Central & Eastern Europe",
@"Middle East",
@"Africa",
nil];
最佳答案
可能意味着__menuTitles
第一次出现在nil
中。向nil
发送消息将导致返回0。
关于iphone - indexOfObject第一次返回0而不是NSNotFound,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8243667/