ios7新特性--14

介绍
阅读清单的概念很简单-通常当你浏览时遇到一篇文章想要阅读,但是没有时间立即阅读。一个阅读清单是一种暂时的书签页面,这样你就可以稍后阅读它。有各种各样的第三方阅读清单的应用程序,但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 }
这就是所有的东西。下面的图片显示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分钟去添加的功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值