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

閉じ角括弧の 1 つが間違った場所にあります。そのはず:

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

また、 が の場合nameは、NSStringを使用する必要があります%@nameが本当に a の場合char *、使用%sは正しいです。

代わりにこれを行う方が明確です:

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

非常に多くのネストされた呼び出しを 1 行に詰め込もうとしないでください。それを壊します。読み取りとデバッグが容易になります。

于 2013-08-24T17:01:35.860 に答える