Xcode没有对这行代码进行任何抱怨。项目构建成功,但在运行时代码崩溃了。
NSString *randomName = [NSString stringWithFormat:@"%@, %@, %@",
[randomAjectiveList objectAtIndex:ajectiveIndex],
[randomNounList objectAtIndex:nounIndex]];
自然而然地,仔细想想,我在代码中放置了一个太多的“
%@
”,比实际参数多一个。正确的代码应该如下所示。NSString *randomName = [NSString stringWithFormat:@"%@, %@",
[randomAjectiveList objectAtIndex:ajectiveIndex],
[randomNounList objectAtIndex:nounIndex]];
我想问一下...为什么Xcode没有抱怨呢?看起来参数计数是一个显而易见的事情。这不应该在编译时检查吗?也许这是特定于"
%@
"的问题吗?请给予建议。