【问题标题】:Error sending NSURL * to parameter of type NSString * using initWithContentsOfFile:使用 initWithContentsOfFile 将 NSURL * 发送到 NSString * 类型的参数时出错:
【发布时间】:2012-04-24 20:42:43
【问题描述】:

我收到了错误

“不兼容的指针类型将'NSURL *'发送到'NSString *'类型的参数

拨打initWithContentsOfFile:usedEncoding:error:

- (NSMutableArray *)qBlock{
    NSURL *url = [[NSURL alloc] initWithString:@"http://addressToPath.php"];
    NSError *error = nil;
    NSStringEncoding encoding;
    NSString *response = [[NSString alloc] initWithContentsOfFile:url 
                                                     usedEncoding:&encoding 
                                                            error:&error];
    const char *convert = [response UTF8String];
    NSString *responseString = [NSString stringWithUTF8String:convert];
    NSMutableArray *sample = [responseString JSONValue];


    return sample;

}

【问题讨论】:

  • ...您是如何尝试自己解决此问题的?
  • 我正在从 initWithContentsOfURL 更改为 initWithContentOfURL:encode:error。所以以上就是我所做的......

标签: objective-c cocoa-touch nsstring runtime-error


【解决方案1】:

initWithContentsOfFile:encoding:error: 接收 NSString * 作为文件路径,而不是 NSURL *。您需要拨打initWithContentsOfURL:encoding:error::

NSString *response = [[NSString alloc] initWithContentsOfURL:url 
                                             usedEncoding:&encoding 
                                                    error:&error];

【讨论】:

  • 谢谢队友...我完全忽略了那部分
  • initWithContentsOfURL 在 2.0 中首次被弃用...?
猜你喜欢
  • 1970-01-01
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多