0

次のコードを使用して、ユーザーがクリックしたボタンに応じていくつかのサウンドをロードしています。ファイルパスはtestString完全にロードされますが、NSLoggingURLToBeReturnedの場合、として出力され(null)ます。なぜ転送されないのかわかりません。

NSString *testString = [NSString stringWithString:[[NSBundle mainBundle] pathForResource:noteName ofType:@"m4a"]];
NSURL *URLToBeReturned = [NSURL URLWithString:testString];
return URLToBeReturned;
4

2 に答える 2

5

それ以外の

NSURL *URLToBeReturned = [NSURL URLWithString:testString];

使用する

NSURL *URLToBeReturned = [NSURL fileURLWithPath:testString];
于 2012-06-20T12:22:37.643 に答える
0

おそらく、URLとして( NSURL参照から)不正な形式であったためです。

+ (id)URLWithString:(NSString *)URLString

戻り値

URLStringで初期化されたNSURLオブジェクト。文字列の形式が正しくない場合は、nilを返します。

修正について(同じ参照から):

URLString

NSURLオブジェクトを初期化するための文字列。RFC 2396に準拠するURLである必要があります。このメソッドは、RFC 1738および1808に従ってURLStringを解析します(ファイルシステムパスのNSURLオブジェクトを作成するには、代わりにfileURLWithPath:isDirectory:を使用します)。

だから、あなたは使用してみることができますfileURLWithPath:isDirectory:

于 2012-06-20T12:24:18.703 に答える