什么 - [NSURL长度]:无法识别的选择器发送到实例0x1001c0360的意思

use*_*697 6 cocoa nsurl nsstring

我一直试图得到一些与Cocoa接口接口的示例代码(它是用Carbon编写的); 但是,当我试图更换

 err = ExtAudioFileCreateNew(&inParentDirectory, inFileName, kAudioFileM4AType, inASBD, NULL, &fOutputAudioFile);
Run Code Online (Sandbox Code Playgroud)

err = ExtAudioFileCreateWithURL(CFURLCreateWithString(NULL,(CFStringRef)inFileName,NULL),kAudioFileM4AType,inASBD, NULL,kAudioFileFlags_EraseFile, &fOutputAudioFile);
Run Code Online (Sandbox Code Playgroud)

我开始得到这些例外

2011-09-25 10:27:31.701 tester [1120:a0f] - [NSURL length]:无法识别的选择器发送到实例0x1001c0360 2011-09-25 10:27:31.701 tester [1120:a0f] - [NSURL length]:无法识别的选择器发送到实例0x1001c0360.

我已经看了几个其他的问题和答案,在所有这些情况下,问题都与预期的NSURL时候被传递有关NSString; 但是,我找不到我在做什么.我查看了文档,据我所知,我对Apple的API知之甚少.我没有做错任何事.

任何帮助将不胜感激.

Ash*_*iya 11

可能会帮助你,我有同样的问题

我试图UIImage从:

[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:urlStr]]];
Run Code Online (Sandbox Code Playgroud)

然后通过制作字符串解决它 [NSString stringWithFormat:]

NSString *urlStr =[NSString stringWithFormat:@"%@", [_photosURLs objectAtIndex:indexPath.row]];
NSURL *url = [NSURL URLWithString:urlStr];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
Run Code Online (Sandbox Code Playgroud)


ven*_*enj 1

错误信息非常清楚。NSURL类没有-length实例方法。

您是否尝试过使用 Objective-C 语法创建NSURL对象并将其转换为CFURLRef

  • 我也有类似的问题。如果 URL 使用资产库方案,`[[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:myURLAsString]]];` 可能会引发相同的异常。看起来,内部有些东西正在尝试不明智的长度调用。 (8认同)