我正在初始化两个 NSArray。为什么一个可能有效而另一个失败?



>我正在尝试使用以下代码初始化两个NSArrays

self.fillingTypes = [[NSArray alloc] initWithObjects:@"Ham",@"Turkey",@"Peanut Butter", @"Tuna Salad",@"Roast Beef",@"Vegemite", nil];
self.breadTypes = [[NSArray alloc] initWithObjects:@"White",@"Whole Wheat", @"Rye", "@Sourdough", @"Seven Grain", nil];`
填充类型数组

有效,但面包类型数组崩溃,发送EXC_BAD_ACCESS错误。当我逐步浏览它时,breadType 数组显示"变量不是 CFArray"。为什么一个阵列工作而另一个阵列失败?

问题是你在那里"@Sourdough"而不是@"Sourdough",就像评论所说的那样,它会生成警告并会使程序崩溃。该行应为:

self.breadTypes = [[NSArray alloc] initWithObjects:@"White",@"Whole Wheat", @"Rye", @"Sourdough", @"Seven Grain", nil];

最新更新