iOS学习笔记(27) iCloud(三) key-Value Stroe

什么是NSUserDefaults

NSUserDefaults的持久化本体是一个plist.内存单例是一个操作类似NSDictionary的类。 而NSUserDefaults的出现我想是因为在每一个程序当中。我们都会设定一些选项。比如桌面壁纸、声音大小、提醒日期等,我们希望就算App关闭以后。我们再次打开的时候还在的东西。但是它并不适合存储App中关键的内容和用户自己产生的大量数据。 大量数据应该用更加合理的方式去做持久化(Document or Core Data).

Read more

iOS学习笔记(26) iCloud(二) 准备工作

开发支持iCloud的上半部分前期准备

  • 需要申请一个开发者的帐号。理论上iOS和Mac OSX的都OK。考虑到我只有iOS的情况下,我的文章里面的例子默认只是iOS的。

  • 你需要一台iOS设备,并且iOS版本必须大于等于5.最好大于等于6. 最最好大于等于7。

  • Xcode不用说至少是MAS里面最新的

  • 然后去建立App Bundle ID的页面去把iCloud支持打开。

1

2

3

4

  • bundle id需要生成带你测试设备的证书

5

(PS:截图太累了 换成文章描述)

这样才能算iCloud的前期工作做完了一半。

以下涉及到NDA内容请自行屏蔽

Read more

深夜吐槽多看

深夜吐槽多看

好吧,作为一个喜欢看书的人和觉得多看做的确实好的普通用户。我把我个人的想法完整的表达一下。

Read more

iOS学习笔记(25) iCloud(一) 概览

什么是iCloud

iCloud是苹果公司提供的云服务的总称。每一个拥有Apple ID的用户都拥有5G大小的空间使用权。用户可以使用iCloud的空间来进行数据的备份,联系人备份,照片备份,应用备份等。好处就是当你有多台设备或者是换新的设备的时候。可以有无差别的体验。

对于开发者来说,iCloud相当于提供了一种官方形式的云端存储形式。帮助你的App实现所谓理想的状态。不论用户在什么设备打开App。 里面的数据,设置,形状,大小。都跟他上次打开的一模一样。这样你的App会给你的用户非一般的体验。

开发慎用iCloud

上一段说了iCloud的优点,其实是接近意淫中的理想状态。我以近一年的血泪史告诫,初级开发者,应该避免使用iCloud。中高级开发者视项目规划内容酌情使用。如果能有其他方案替代iCloud,建议优先使用其他方案。

初级开发者: iCloud的三种存储方式 Key-Value, Documents, Core Data都是在之前已有的框架上进行扩展的高级接口。换言之,你应该先具备了这三种技术的基本知识再开始考虑学习iCloud。 iCloud + Key-Value对应的基础是NSUserDefaults。 iCloud + Documents对应的基础是使用文档进行数据存储(NSFileManager,NSFileCoordinator,NSFileWrapper,NSCoding等一系列持久化数据存储到文件的问题). iCloud + Core Data的对应基础就是Core Data。本来是强烈建议如果没有这些基础的人不要直接来学习iCloud的。但是谁都是一步一步走过来的,如果要用到iCloud的某一种方式。建议先把基础的持久化方式原理弄懂了,在看iCloud的部分。不然学习门槛的过高,会使得进度无法按时推进。

中高级开发者:如果是已经用过Key-Value,Documents,Core Data的。应该会很快能明白iCloud的原理。 而进行开发。但是值得注意的是,iCloud的使用和调试会非常的消耗时间和精力。并且和你的当前网络状态息息相关。然后会出现各种诡异的情况。这个时候你都需要淡定很超级的耐心。去找到这些坑,然后慢慢的积累经验去绕过这些坑。(在这里先挖坑,后面在慢慢写我的一些使用经验)

Read more

iOS笔记(24) 关于使用xCode的Tab来提高开发效率

前言

通过Google分析来看blog的访问统计。发现评价阅读时间也就一分钟不到。但是之前都习惯性写长篇大论。这次换一种方式来写blog。尽量写短一些的小一些的题目。使得更新数量上去。

这次我来说说怎么设置Tab来提高在xCode的工作效率。

我是如何使用Tab来提高效率的

xCode的Tab是什么

诺,就是这一个东西。

使用过各种浏览器的你一定不会陌生。对在xCode里面我们也可以开出多个页面。而且每一个页面的状态是单独保存的。

Read more