我在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];
答案 0 :(得分:8)
可能意味着__menuTitles
第一次出现nil
。向nil
发送消息将导致返回0。