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 ];
我编写此代码以从给定的URL下载文件...但是我在行上收到错误
NSData * data = [NSData dataWithContentsOfURL:url];
未被捕获的例外......
所以请帮帮我。
答案 0 :(得分:4)
你的第一行应该是
NSURL * url = [NSURL URLWithString:@"http://192.168.100.161/UploadWhiteB/wh.txt"];
(NSURL
不是字符串,但可以很容易地从一个字符串构建。)
我希望你在第一行收到编译器警告 - 忽略编译器警告是不好的。第二行失败,因为dataWithContentsOfURL:
期望得到一个指向NSURL
对象的指针,当你传递一个你输入NSURL*
的指针时,url
是实际上指向NSString
对象。
答案 1 :(得分:2)
NSString *file = @"http://192.168.100.161/UploadWhiteB/wh.txt";
NSURL *fileURL = [NSURL URLWithString:file];
NSLog(@"qqqqq.....%@",fileURL);
NSData *fileData = [[NSData alloc] initWithContentsOfURL:fileURL];
答案 2 :(得分:0)
-[NSString initWithContentsOfURL:]
已弃用。您应该使用-[NSString (id)initWithContentsOfURL:encoding:error:]
。在任何一种情况下,URL参数都是NSURL
实例,而不是NSData
实例。当然,尝试使用错误的类型初始化字符串时会出错。您可以使用-[NSString initWithData:encoding:]
使用URL数据初始化字符串,或者直接从URL初始化字符串。