2013-08-24 36 views
0

我试图用“多个部分”制作NSURL。我有多个文件,其名称和编号如下:john2.mp3adam13.mp3。我随机化了一个数字和一个名字。然后我想加载文件:NSURL中的多个参数

url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%s%d.mp3",[[NSBundle mainBundle] resourcePath]], name, number]; 

这不起作用。它说:Too many arguments in one method。我究竟做错了什么?

我使用Xcode 4.6并为iOS 6.1开发。

回答

2

你在错误的地方有一个方括号。它应该是:

url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%s%d.mp3",[[NSBundle mainBundle] resourcePath], name, number]]; 

而且,如果nameNSString,那么你需要使用%@。如果name确实是char *,则使用%s是正确的。

它会更清楚这样做,而不是:

NSString *filename = [NSString stringWithFormat:@"%@%d", name, number]; 
NSURL *url = [[NSBundle mainBundle] URLForResource:filename withExtension:@"mp3"]; 

不要尝试如此多的嵌套调用塞进一条线。分开来。阅读和调试更容易。

+0

工作得很好!非常感谢! – user2059738