Objective c 如何从特定url下载文件?

Objective c 如何从特定url下载文件?,objective-c,Objective C,我写这段代码是为了从给定的url下载一个文件。。。但我在网上遇到了一个错误 NSData*data=[NSData dataWithContentsOfURL:url] 未捕获的异常 所以请帮助我。-[NSString initWithContentsOfURL:已被弃用。您应该使用-[NSString(id)initWithContentsOfURL:encoding:error:][/code>。无论哪种情况,URL参数都是NSURL实例,而不是NSData实例。当然,尝试用错误的类型初始化

我写这段代码是为了从给定的url下载一个文件。。。但我在网上遇到了一个错误
NSData*data=[NSData dataWithContentsOfURL:url]

未捕获的异常


所以请帮助我。

-[NSString initWithContentsOfURL:
已被弃用。您应该使用
-[NSString(id)initWithContentsOfURL:encoding:error:][/code>。无论哪种情况,URL参数都是
NSURL
实例,而不是
NSData
实例。当然,尝试用错误的类型初始化字符串时会出现错误。您可以使用
-[NSString initWithData:encoding://code>使用URL数据初始化字符串,或者直接从URL初始化字符串。

您的第一行应该是

NSURL * url = @"http://192.168.100.161/UploadWhiteB/wh.txt";
NSData * data = [NSData dataWithContentsOfURL:url];

if (data != nil) {
  NSLog(@"\nis not nil");
  NSString *readdata = [[NSString alloc] initWithContentsOfURL:(NSData *)data ];
NSURL
不是字符串,但可以很容易地从字符串构造。)


我希望您在第一行得到编译器警告——忽略编译器警告是不好的。第二行失败,因为
dataWithContentsOfURL:
期望得到一个指向
NSURL
对象的指针,而当您向它传递一个您键入的指针时,
url
实际上指向一个
NSString
对象。

我不知道Objective-C,但是为什么不捕获异常,这样您就可以将其打印出来,并进一步了解出了什么问题呢?哈哈,uncaght expresion不是这样的
NSData
对象的源对于这个方法来说很重要吗?我试图从URL将.sqlite数据库下载到
NSData
对象中,但它似乎没有正确保存它。文件已写入,但当我尝试访问它(通过我的应用程序或使用第三方查看器)时,它告诉我它不是有效的SQLite数据库。
dataWithContentsOfURL
是否仅适用于下载.txt文件或类似文件?
NSURL * url = [NSURL URLWithString:@"http://192.168.100.161/UploadWhiteB/wh.txt"];
    NSString *file = @"http://192.168.100.161/UploadWhiteB/wh.txt";
    NSURL *fileURL = [NSURL URLWithString:file];

    NSLog(@"qqqqq.....%@",fileURL);

    NSData *fileData = [[NSData alloc] initWithContentsOfURL:fileURL];