我有以下代码:
NSURL* saveToURL = [[NSURL alloc] initWithString:[self.recording filePath]];
NSLog([saveToURL absoluteString]);
NSLog(@"?");
NSLog([self.recording filePath]);
输出以下
2013-08-07 15:51:32.182 SpyApp[49799:c07] ?
2013-08-07 15:51:32.183 SpyApp[49799:c07] /Users/Mike/Library/Application Support/iPhone Simulator/6.1/Applications/C9EDE058-5C8B-4B75-8638-D5A4265B348F/Documents/Recordings/ujaxvehvjlgwfuw
在调试器中,我还可以看到saveToURL
为nil
,尽管[self.recording filePath]
返回/Users/Mike/Library/Application Support/iPhone Simulator/6.1/Applications/C9EDE058-5C8B-4B75-8638-D5A4265B348F/Documents/Recordings/ujaxvehvjlgwfuw
为什么?我该如何解决?
答案 0 :(得分:3)
因为filePath是路径,而不是URL。要创建文件URL,请使用其他方法:
NSURL* saveToURL = [[NSURL alloc] initFileURLWithPath:[self.recording filePath]];
另外,NSLog的第一个参数应该始终是一个常量字符串,你永远不知道filePath何时可以有一个%
。
NSLog(@"%@", [saveToURL absoluteString]);
NSLog(@"?");
NSLog(@"%@", [self.recording filePath]);