英语笔记开篇

如果从初中开始算起,我接触英语已十多年了,回想起来自己还是很受益于她的。我能自学掌握 iOS 开发,全得益于有点英语底子,因为自学的过程基本是通过啃 Apple 的官方文档和 Raywenderlich 的教程。引申开来,其实就是英语阅读能力对技术人员很重要。这其中的原因,我想大家都是心知肚明的。

得益于这些年的英语文档阅读,我现在阅读英文文档没有什么问题,但我还想更全面的提高自己的英文水平。既然能输入,尝试着更好的输出吧,这样我们就能参与到国际化开源项目中,写英语文章,有机会和更多人交流,这样兴许未来能做些有趣的事情。

这些年来,我对语言有了一点自己的想法:我认为语言都是一种表达形式,她们的各自发展演变形成了自己的规则,我们的学习应该从怎么按这种规则表达出自己的想法开始。具体到英语等自然语言上其实就是句子,句子是我们表达的基本单元,掌握好了句子,我们就能将想法组织成文章或书籍。

既然如此,那么英语的句子构成规则是什么呢?后续的文章会按照这种思路来展开。

Xcode 调试技巧(持续更新)

iOS App开发过程中不可避免地遇到程序崩溃的问题。当程序崩溃时,我们首先要找到它崩溃的原因。一旦找到原因,问题就容易解决了。Xcode Debugger是查找崩溃原因的有利工具,我们应该学会熟练使用它,迅速解决问题,节约宝贵的开发时间。

崩溃在main( )

添加Exception Breakpoint

Project > Breakpoint navigator > +(Bottom left)> Add Exception Breakpoint

符号断点

符号断点是我们验证某个方法是否被调用的一种方法。添加方法:

Project > Breakpoint navigator > +(Bottom left)> Add Symbolic Breakpoint

例如:application:DidFinishLaunchingWithOptions:

打印方法名

1
NSLog(@"%s", __PRETTY_FUNCTION__);

控制台打印

1
2
3
4
5
6
(lldb) p // 打印标量变量
(lldb) p (int)self.myAge
(lldb) p (CGPoint)self.view.center


(lldb) po // 打印对象
继续阅读

iOS App 数据持久化

数据的持久化就是让数据能够持久的保存,实现它的方法有两种:云端和本地。本文试着简单总结本地持久化的方法。

本地持久化其实就是将数据保存到闪存,那么我们应该用什么方法保存,又应该保存在哪呢?

文件系统基础

在OS X和iOS中,文件系统处理数据文件,应用程序和操作系统本身相关文件的持久存储。下面简要介绍下 iOS 文件系统的基础知识,以便我们更好的使用她。

iOS应用和文件系统的交互基本上仅限于它沙盒内目录。新应用安装过程中,安装程序为应用创建了数个容器。每个容器有个特定的角色。The bundle container holds the app’s bundle, whereas the data container holds data for both the application and the user. The data container is further divided into a number of directories that the app can use to sort and organize its data. The app may also request access to additional containers—for example, the iCloud container—at runtime.

这些容器构成了应用文件系统的基本面。下图是应用沙盒的示意图。

"App Sandbox"

iOS应用常用的目录列表:

Directory Description
AppName.app This is the app’s bundle
Documents/ Use this directory to store user-generated content.
Documents/Inbox Use this directory to access files that your app was asked to open by outside entities.
Library/ This is the top-level directory for any files that are not user data files.
tmp/ Use this directory to write temporary files that do not need to persist between launches of your app.

数据的建议存储位置

限于篇幅,关于应用的数据应该放到哪,可以查阅File System Programming Guide > File System Basics > About the iOS File System > Where You Should Put Your App’s Files

数据持久化的方法

  1. NSUserDefaults;
  2. Property Lists;
  3. Archive;
  4. 数据库;
  5. Core Data。
继续阅读