iOS开发基础:应用开发本地化

开发中通常会基于Xcode的项目模板来创建程序框架(如果闲的蛋疼也可以自己从零开始的,但实在没有必要),在创建完成框架之后即可开始本地化的设置工作,然后在后面的开发中基于Base来开发,默认的Base的语言与系统语言有关,例如我的系统为英文环境,Xcode也是英文环境,所以创建的项目在Info.plist中,Localization native development region的值为en。默认地,项目目录下有个Base.lproj文件夹,里面存放了一部分可被本地化的资源,例如storyboard。IDE: Xcode 7。

iOS开发基础:常用URL Scheme

iOS提供的应用程序间通信可通过URL Scheme进行。例如如果应用实现了URL Scheme,那么通过指定的identifier就可以从别的应用打开该应用。这里收集列出了常见应用的URL Scheme,以便在开发时能够迅速得到参考。Akosma上提供了一个iPhone URL Schemes列表,不仅列出了很多应用的URL Scheme,还提供了代码调用方式。

Objective-C基础:Protocol

Learn Objective-C with 《Programming with Objective-C》。协议就是规则,在面向对象编程当中用来规范某个对象在某些情形下需要遵循的“行为规范”。例如一个Table View期望与Data Source(它可以是任何一个类对象)进行通信,以便能够知道它需要将什么数据显示出来(至于怎么显示那是Table View自己的事情),既然有通信,就意味着需要有规则和协议(都懂得汉语的人之间对话就是一种通信,而语言本身的语义等就是规则),Table View需要向Data Source发送一系列消息,而Data Source则需要对这些消息作出响应。Protocol就是定义了这些“通信消息及其响应”。

Objective-C基础:Property

Objective-C的属性(Property)是Objective-C的类封装和保存数据的方式,只需要使用@property来声明一个属性,编译器会自动合成(synthesize)实例变量(默认以下划线_加上属性名字来命名)和访问器方法(accessor method,即getter/setter方法),属性还提供了一组修饰符来描述与线程、内存管理相关的行为。

Objective-C基础:Block

OC使用Class来捆绑数据和操作行为,但有时候我们并不需要一个像类这么复杂的,而只需要一个单一的,但能像值一样可以在函数之间传递的功能模块来实现一些行为,Block正好提供了这样一种实现。Block是对C、OC、C++都有效的一项语言级别的特性,Block**可被视为(但不是)**OC对象,这意味着可以将它像其他OC对象一样添加到集合类当中,也可以当成参数传递到一个消息中。Block相当于其他语言中的lambda表达式,即匿名函数。