【问题标题】:NSInvalidArgumentException', reason: '-[__NSCFString isFileURL]: unrecognized selector sent to instance 0x712e450'NSInvalidArgumentException',原因:'-[__NSCFString isFileURL]:无法识别的选择器发送到实例 0x712e450'
【发布时间】:2012-11-08 10:51:57
【问题描述】:

我是 iPhone 应用程序开发的新手。

当我运行一个示例项目时,我解析了 xml 提要并在表格视图中显示内容和图像,我收到了这个错误 -

"NSInvalidArgumentException', reason: '-[__NSCFString isFileURL]: unrecognized selector sent to instance 0x712e450'"

仅当我尝试在UITableViewCell 中显示图像时才会发生这种情况。

我用于从url 获取图像的代码是 -

if([elementName isEqualToString:IMAGE])
{
    NSURL *imageUrl = [attributeDict objectForKey:@"url"];
    NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
    bbc.image = [UIImage imageWithData:imageData];        
}

其中bbc 是一个class(NSObject subclass) 对象,用于存储解析后的内容。

【问题讨论】:

  • balakrishna ningalith enth veruppikkalado?
  • onn poyi chathoode..?

标签: objective-c ios xcode ios5 ios4


【解决方案1】:

我认为您将NSString 用作NSURL。试试这个:

    NSURL *imageUrl =[NSURL URLWithString:[attributeDict objectForKey:@"url"]];

【讨论】:

    【解决方案2】:

    看起来“url”实际上是一个NSString,而不是NSURL 对象。自己将其转换为 NSURL 对象:

    if ([elementName isEqualToString:IMAGE])
    {
        NSString *urlStr = [attributeDict objectForKey:@"url"];
        NSURL *imageUrl = [NSURL URLWithString:urlStr];
        NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
        bbc.image = [UIImage imageWithData:imageData];        
    }
    

    【讨论】:

      【解决方案3】:

      imageURL 不是 NSURL,而是一个字符串。

      【讨论】:

      • 是的。是的,我没有注意到它,因为编译器当时没有向我显示任何警告.. 无论如何谢谢
      • 是的,我明白了,[attributeDict objectForKey:@"url"] 返回一个我分配给 NSURL 对象的字符串。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多