我正在使用以下代码加载一些声音,具体取决于用户点击的按钮。文件路径完全加载到testString
,但是当NSLogging URLToBeReturned
时,它出现为(null)
。我不确定为什么它没有转移。
NSString *testString = [NSString stringWithString:[[NSBundle mainBundle] pathForResource:noteName ofType:@"m4a"]];
NSURL *URLToBeReturned = [NSURL URLWithString:testString];
return URLToBeReturned;
答案 0 :(得分:5)
而不是
NSURL *URLToBeReturned = [NSURL URLWithString:testString];
使用
NSURL *URLToBeReturned = [NSURL fileURLWithPath:testString];
答案 1 :(得分:0)
可能是因为它格式错误(来自NSURL reference)作为网址:
+ (id)URLWithString:(NSString *)URLString
返回值
使用URLString初始化的NSURL对象。如果字符串格式错误,则返回nil。
关于修复(来自同一参考):
URLString
用于初始化NSURL对象的字符串。必须是符合RFC 2396的URL。此方法根据RFC 1738和1808解析URLString。(要为文件系统路径创建NSURL对象,请使用fileURLWithPath:isDirectory:而不是。)
因此,您可以尝试使用fileURLWithPath:isDirectory: