将图像列表从一个网站,并显示它(Getting a list of Images from a we

2019-09-16 21:37发布

我创建的假设得到本网站上的图像的列表,并显示它们在屏幕上(类似图像从照片库中显示)瓷砖iOS应用程序。 我可以从一个UIImageView的URL显示单个图像,但是当它涉及到从网站上显示的图像的完整列表,我很无能。 在正确的方向或任何有用的教程任何帮助将不胜感激。

Answer 1:

有两个部分对这一问题。 我给你到每一个快速响应。

1:图像下载列表

这可能是直线前进的使用+ arrayWithContentsOfURL:如果你有超过你的网站的完全控制。 一定要调度的下载,以避免阻塞UI线程。

NSURL *URL = self.URLOfImages;
dispatch_queue_t dispatch = dispatch_queue_create("fetch.images", NULL);
dispatch_async(dispatch, ^{
    NSArray *images = [NSArray arrayWithContentsOfURL:URL];
    dispatch_async(dispatch_get_main_queue(), ^{
        self.images = images;
    });
});
dispatch_release(dispatch);

注:URL必须返回的NSArray和self.images预期必须通知,它需要重新加载本身即视图的确切格式。 [self.tableView reloadData]

如果您在URL有较少的控制,你需要创建使用类似的NSURLRequest的请求,获取使用类似NSURLConnection的数据,并从响应解析出图像列表创建图像阵列。

在一个更复杂的情况下,寻呼将参与其中。 这将只需要下载一些列表,然后随着更多的图像需要请求更多的图像即可。

2:显示图像的列表

这可能是因为使用一个UITableView与使用UITableViewCellStyleDefault风格UITableViewCells一样简单,然后设置在每个单元的ImageView的属性。

为了让图像更清楚地看到你可以写使用从子类的UITableViewCell的自定义表格视图单元格。 这将允许您使用图像的自定义布局和图像的大小设置为任何你想要的东西。

在一个更复杂的塞纳里奥,你可以创建一个包含一个UIScrollView,你将使所有图像在自己的自定义视图。



Answer 2:

我会设置是擦伤这个“清单”(假设你实际上并没有对服务器内部访问)的Web服务。 我会建议使用的libcurl和PHP,以实现列表。

http://www.sitepoint.com/own-web-service-php-xml-rpc/

然后吐出JSON格式的列表,并使用可用库到iOS解析它:

在iOS原生JSON支持?

(可能需要查看已作出关于JSON解析什么最新进展,我似乎记得一些关于这个特定的主题经历了近代历史上的变化)。

上的libcurl和PHP官方文档:

http://php.net/manual/en/book.curl.php

(采取从上述计算器QUESTION):

对于iOS 5的更新答案:

JSON支持现在本地到iOS与NSJSONSerialization,但在性能方面,它相较于JSONKit相形见绌。

我建议你使用JSONKit,而不是NSJSONSerialization。



文章来源: Getting a list of Images from a website and displaying it
标签: ios xcode