iOS7—Day by day—Day8:Reading List With SafariServices

来源:互联网 发布:组成数据的基本单位是 编辑:程序博客网 时间:2024/05/17 13:46

这篇文章是天天品尝iOS7甜点系列的一部分,你可以查看完整的系列目录:天天品尝iOS7甜点


Introduction – 介绍

阅读列表的概念很简单-通过在你的浏览器中你看到一篇文章,但是没有时间去阅读它。阅读列表就是一种暂时的数钱页面,可以让你稍后阅读文章,在App store中有各种各样的第三方的软件,但是在iOS7中,Safari中的SafariServices开发了一个对外的API接口.

本章的实例程序能够在github上面进行访问,访问地址:github.com/ShinobiControls/iOS7-day-by-day

Usage – 使用

使用Safari的阅读列表是比较简单的-在API中包含了3个方法。一个阅读列表元素由一个URL,一个标题和一个描述信息组成。URL通常是http或者https格式的,你可以用supportsURL:来检测URL的合法性:

123
if ([SSReadingList supportsURL:[NSURL urlFromString:@"http://sample/article/url"]]) {  NSLog(@"URL is supported");}

一旦你已经检查了URL是有效的,你就可以添加到这个默认的阅读列表中,调用添加方法:

123456789
SSReadingList *readingList = [SSReadingList defaultReadingList];NSError *error;[readingList addReadingListItemWithURL:[NSURL urlFromString:@"http://sample/article/url"] title:@"Item Title" previewText:@"Vrief preview text" error:&error];if (error) {  NSLog(@"There was a problem adding to a reading list");}else {  NSLog(@"Successfully added to reading list");}

就只有这么的easy,打开Safaris的阅读列表,你就可以看到下图所示:

Sample project – 简单示例

构建一个RSS阅读器,下拉的方式刷新文章列表,然后把它们显示在表格中,在详情的页面下面有一个Read Later的按钮,可以把他们添加到Safari的阅读列表中。

对于这边文章来说,我们最感兴趣的就是点击Read Later按钮后的操作:

123456789101112
- (IBAction)readLaterButtonPressed:(id)sender {  if ([SSReadingList supportsURL:[self.detailItem url]]) {      SSReadingList *readingList = [SSReadingList defaultReadingList];      NSError *error;        [readingList addReadingListItemWithURL:[self.detailItem url] title:[self.detailItem title] previewText:[self.detailItem description] error:&error];        if(error) {            NSLog(@"There was a problem adding to a reading list");        } else {            NSLog(@"Successfully added to reading list");        }  }}

应用程序的目的并不是展示如何构建一个RSS解析器,以及这样的RSS是雅虎上面的JSON数据。

Conclusion – 总结

今天算是一个简短的文章,展现iOS7中一个极少关注的特性。这并不是开创性的,但是如果你的应用程序需要把加入到Safari阅读列表中,本文就能够起作用了,10分钟让你轻轻松松搞定.

本文翻译自:iOS7 Day-by-Day :: Day 8 :: Reading list with SafariServices

 2014-01-10 Fri  iOS7, iOS7 Day-by-Day, 翻译

0 0
原创粉丝点击