将Internet(URL)中的PDF添加到NSArray

时间:2013-11-17 18:26:37

标签: ios pdf nsarray

如何将互联网(URL)中的PDF添加到NSArray? 这样我就可以使用ActivityViewController打印出这个PDF了。 我不会将数据库中的URL特别保存为PDF本身。

EDIT;

NSArray *items = @[self.background.request.URL.absoluteString];

我使用此代码,但这只保存了URL而不保存pdf本身。

1 个答案:

答案 0 :(得分:1)

实际上,将多个PDF文件的文件内容存储到数组中并不是一个好主意,因为这会消耗太多内存(很可能在大多数情况下甚至不需要它)。

最好将文件下载到应用程序的缓存或文档文件夹,然后从那里加载/打印文件。当然,您可以将文件下载到内存中,但这肯定会因大文件而失败。

所以在数组中你可能只想拥有URL或文件名。一旦你知道你需要哪个文件,你实际加载它(从你的下载位置或从URL),并做你需要做的任何事情。

但问题的答案是:

// CAUTION: This will block the thread while downloading
NSArray *items = [NSArray arrayWithObject:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.background.request.URL]]];

此语句将PDF文件的内容存储为NSData并将其放入数组中。要在阵列中放入更多文件,您可以使用[NSArray arrayWithObjects:..., nil]