删除Objective-C中字符串中的字符

N..*_*N.. 2 cocoa objective-c

我有一个NSOpenPanel电话oPanel.从它,我得到一个文件夹的路径.当我使用URL(而不是弃用的文件名)时,我想摆脱开头(file:// localhost).

但我有以下错误,我无法理解:

2011-07-29 18:01:45.587 RedimV3[12857:407] -[NSURL length]: unrecognized selector sent to instance 0x1023543d0
2011-07-29 18:01:45.588 RedimV3[12857:407] -[NSURL length]: unrecognized selector sent to instance 0x1023543d0
Run Code Online (Sandbox Code Playgroud)

这是代码:

NSArray *files = [oPanel URLs];
NSLog(@"before: %@", [files objectAtIndex:0]);
NSMutableString *temp = [[NSMutableString alloc] initWithString:[files objectAtIndex:0]];
[temp deleteCharactersInRange:NSMakeRange(0,15)];
NSLog(@"after: %@",temp);
Run Code Online (Sandbox Code Playgroud)

第一个NSLog工作,第二个没有.

如果你能帮助我,我将很高兴,谢谢.

jtb*_*des 5

[files objectAtIndex:0]可能是NSURL,而不是NSString.请尝试使用[[files objectAtIndex:0] path].事实上,如果你使用-path你甚至不必担心这file://部分.