0

我正在尝试NSURL用“多个部分”制作一个。我有多个文件,文件名中有一个名称和一个数字,例如:john2.mp3, adam13.mp3. 我随机化一个数字和一个名字。然后我想加载文件:

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 开发。

4

1 回答 1

2

您的右方括号之一在错误的位置。它应该是:

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

此外,如果name是,NSString那么您需要使用%@. 如果name真的是一个char *那么使用%s是正确的。

这样做会更清楚:

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

不要试图将这么多嵌套调用塞进一行。分开来。它更易于阅读和调试。

于 2013-08-24T17:01:35.860 回答