ios7新特性--14

来源:互联网 发布:android 源码目录 编辑:程序博客网 时间:2024/06/05 11:41
介绍
阅读清单的概念很简单-通常当你浏览时遇到一篇文章想要阅读,但是没有时间立即阅读。一个阅读清单是一种暂时的书签页面,这样你就可以稍后阅读它。有各种各样的第三方阅读清单的应用程序,但IOS7 SafariServices为阅读清单暴露了一个API,阅读清单是Safari不可或缺的一部分。

用法
使用Safari的阅读清单很容易,感兴趣的只有3个方法。一个阅读清单项包括URL,主题和描述。URLs只支持HTTP或者HTTPS协议,你可以用supportsURL: 类方法检查一个URL的有效性:
1if([SSReadingList supportsURL:[NSURL urlFromString:@"http://sample/article/url"]]) {
2    NSLog(@"URL is supported");
3}

一旦你确定你想添加的URL是可用的,添加它需要获取默认阅读清单并调用增加方法:
01SSReadingList *readingList = [SSReadingList defaultReadingList];
02NSError *error;
03[readingList addReadingListItemWithURL:[NSURL urlFromString:@"http://sample/article/url"]
04                                 title:@"Item Title"
05                           previewText:@"Brief preview text"
06                                 error:&error];
07if(error) {
08    NSLog(@"There was a problem adding to a reading list");
09else {
10    NSLog(@"Successfully added to reading list");
11}
这就是所有的东西。下面的图片显示Safari更新了阅读清单:
1.png 

示例项目
本文示例项目,是从ShinobiControls博客获取RSS并显示到表格视图中。详细页面包含一个工具栏按钮---允许用户‘Read Later’,也就是说,添加到Safari的阅读清单中。
值得一提的是,这篇文章整个代码有趣的地方就是当点击按钮时调用的方法。
01- (IBAction)readLaterButtonPressed:(id)sender {
02    if([SSReadingList supportsURL:[self.detailItem url]]) {
03        SSReadingList *readingList = [SSReadingList defaultReadingList];
04        NSError *error;
05        [readingList addReadingListItemWithURL:[self.detailItem url] title:[self.detailItem title] previewText:[self.detailItem description] error:&error];
06        if(error) {
07            NSLog(@"There was a problem adding to a reading list");
08        else {
09            NSLog(@"Successfully added to reading list");
10        }
11    }
12}

应用程序的目的不是为了演示如何搭建RSS解析器,所以通过Yahoo!通道把RSS转换成JSON了。

总结
今天的文章很短,展示了IOS7一个很少被注意到的特性。它不是开创性的,但是如果你的应用程序有一些内容适合添加到Safari阅读清单中,那这绝对是值得花10分钟去添加的功能。
原创粉丝点击