我正在通过Cocoa顺利,但这个问题似乎很基本,它取消了我学到的所有酷东西。 :/从NSString转换文件路径到NSURL
我有一个生成的文件路径,它需要在NSURL格式。从研究,这是我写的代码:
NSLog(@"Old path = %@", pathToFile);
NSURL *xmlURL = [[[NSURL alloc] init] fileURLWithPath:pathToFile];
NSLog(@"New path = %@", [xmlURL absoluteString]);
和输出:
2010-01-27 15:39:22.105 MusicLibraryStats[28574:a0f] Old path = file://localhost/Users/[username]/Music/iTunes/iTunes%20Music%20Library.xml
2010-01-27 15:39:22.105 MusicLibraryStats[28574:a0f] New path = (null)
首先,在ALLOC-INIT甚至不应该是必要的; other people seem to get away with it。在这种情况下,如果我没有alloc-init,那么在该行上会出现'无法识别的选择器'错误。当然,现在我只是变老了(空)。
我是从哪里来的?
谢谢!
我明白了。谢谢。有什么方法可以(如果有的话)将我现在所使用的字符串转换成你所拥有的字符串? 断点确实有用,但在这种情况下我可以用它们做的事情并不多。我可以进入fileURLWithPath :,但是如果涉及运行时错误(就像我没有alloc-init时那样),我能做的最好的事情就是检查程序集。 – spamguy 2010-01-27 22:10:24
所有你需要做到这一点:'NSURL * xmlURL = [NSURL fileURLWithPath:pathToFile];'如果你仍然有问题,这个问题可能是'pathToFile'。使用调试器查明。 – Alex 2010-01-27 22:28:13
不,这个字符串绝对是普通的ol'file:// localhost/Users/[username] /Music/iTunes/iTunes%20Music%20Library.xml。它是使用NSOpenPanel生成的...pathToFile = [[oPanel URLs] objectAtIndex:0]; – spamguy 2010-01-27 23:06:01