介绍
阅读清单的概念很简单-通常当你浏览时遇到一篇文章想要阅读,但是没有时间立即阅读。一个阅读清单是一种暂时的书签页面,这样你就可以稍后阅读它。有各种各样的第三方阅读清单的应用程序,但IOS7 SafariServices为阅读清单暴露了一个API,阅读清单是Safari不可或缺的一部分。
用法
使用Safari的阅读清单很容易,感兴趣的只有3个方法。一个阅读清单项包括URL,主题和描述。URLs只支持HTTP或者HTTPS协议,你可以用supportsURL: 类方法检查一个URL的有效性:
一旦你确定你想添加的URL是可用的,添加它需要获取默认阅读清单并调用增加方法:
这就是所有的东西。下面的图片显示Safari更新了阅读清单:
示例项目
本文示例项目,是从ShinobiControls博客获取RSS并显示到表格视图中。详细页面包含一个工具栏按钮---允许用户‘Read Later’,也就是说,添加到Safari的阅读清单中。
值得一提的是,这篇文章整个代码有趣的地方就是当点击按钮时调用的方法。
应用程序的目的不是为了演示如何搭建RSS解析器,所以通过Yahoo!通道把RSS转换成JSON了。
总结
今天的文章很短,展示了IOS7一个很少被注意到的特性。它不是开创性的,但是如果你的应用程序有一些内容适合添加到Safari阅读清单中,那这绝对是值得花10分钟去添加的功能。
阅读清单的概念很简单-通常当你浏览时遇到一篇文章想要阅读,但是没有时间立即阅读。一个阅读清单是一种暂时的书签页面,这样你就可以稍后阅读它。有各种各样的第三方阅读清单的应用程序,但IOS7 SafariServices为阅读清单暴露了一个API,阅读清单是Safari不可或缺的一部分。
用法
使用Safari的阅读清单很容易,感兴趣的只有3个方法。一个阅读清单项包括URL,主题和描述。URLs只支持HTTP或者HTTPS协议,你可以用supportsURL: 类方法检查一个URL的有效性:
1 | if ([SSReadingList supportsURL:[NSURL urlFromString:@ "http://sample/article/url" ]]) { |
2 | NSLog(@ "URL is supported" ); |
3 | } |
一旦你确定你想添加的URL是可用的,添加它需要获取默认阅读清单并调用增加方法:
01 | SSReadingList *readingList = [SSReadingList defaultReadingList]; |
02 | NSError *error; |
03 | [readingList addReadingListItemWithURL:[NSURL urlFromString:@ "http://sample/article/url" ] |
04 | title:@ "Item Title" |
05 | previewText:@ "Brief preview text" |
06 | error:&error]; |
07 | if (error) { |
08 | NSLog(@ "There was a problem adding to a reading list" ); |
09 | } else { |
10 | NSLog(@ "Successfully added to reading list" ); |
11 | } |
示例项目
本文示例项目,是从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分钟去添加的功能。