将 NSString 转换为 NSURL 时出错
Error converting a NSString to a NSURL
以下代码片段生成紧随其后的调试器列表。然而,如果第二行替换第一行,则没有错误。 LineTwo 是通过复制和粘贴之前 运行 的调试器输出获得的。你能给我解释一下吗?
//LINE ONE
NSString* aString = self.urlText;
NSLog(@"aString: %@",aString);
//LINE TWO
//NSString* aString = @"file:///Users/oldmancoyote1/Documents/A%20REFERENCE%20SYSTEM/C/Computers/iOS/C%20and%20Obj.%20C/C%20Language/1-4.6.html";
NSURL* testURL = [NSURL fileURLWithPath:aString];
2016-01-03 12:44:30.307 webScrol[1505:62452] aString: file:///Users/oldmancoyote1/Documents/A%20REFERENCE%20SYSTEM/C/Computers/iOS/C%20and%20Obj.% 20C/C%20语言/1-4.6.html
2016-01-03 12:44:30.307 webScrol[1505:62452] -[NSURL 长度]: 无法识别的选择器发送到实例 0x6080000a4800
2016-01-03 12:44:30.307 webScrol[1505:62452] 无法设置 (contentViewController) 用户定义检查 属性 on (NSWindow): -[NSURL 长度]: 无法识别的选择器发送到实例 0x6080000a4800
尽管存储在 NSString
变量中,aString
实际上是一个 NSURL
对象。这一定是在比您提供的代码更早的代码中发生的。
当它被传递给 [NSURL fileURLWithPath:]
时,该函数试图通过调用其 length
方法将其视为 NSString
并且程序崩溃。
以下代码片段生成紧随其后的调试器列表。然而,如果第二行替换第一行,则没有错误。 LineTwo 是通过复制和粘贴之前 运行 的调试器输出获得的。你能给我解释一下吗?
//LINE ONE
NSString* aString = self.urlText;
NSLog(@"aString: %@",aString);
//LINE TWO
//NSString* aString = @"file:///Users/oldmancoyote1/Documents/A%20REFERENCE%20SYSTEM/C/Computers/iOS/C%20and%20Obj.%20C/C%20Language/1-4.6.html";
NSURL* testURL = [NSURL fileURLWithPath:aString];
2016-01-03 12:44:30.307 webScrol[1505:62452] aString: file:///Users/oldmancoyote1/Documents/A%20REFERENCE%20SYSTEM/C/Computers/iOS/C%20and%20Obj.% 20C/C%20语言/1-4.6.html
2016-01-03 12:44:30.307 webScrol[1505:62452] -[NSURL 长度]: 无法识别的选择器发送到实例 0x6080000a4800
2016-01-03 12:44:30.307 webScrol[1505:62452] 无法设置 (contentViewController) 用户定义检查 属性 on (NSWindow): -[NSURL 长度]: 无法识别的选择器发送到实例 0x6080000a4800
NSString
变量中,aString
实际上是一个 NSURL
对象。这一定是在比您提供的代码更早的代码中发生的。
当它被传递给 [NSURL fileURLWithPath:]
时,该函数试图通过调用其 length
方法将其视为 NSString
并且程序崩溃。