Objective c 如何从特定url下载文件?
我写这段代码是为了从给定的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实例。当然,尝试用错误的类型初始化
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];