摘要: 利用键值观察,你可以自动观察其他对象的变化。因此,当一个对象改变状态时你就会得到通知,比如用户通过应用中的设置面板g改变了设置时。通过键值观察,利用该设置的窗体和其他对象在用户改变设置时,都可以自动得到通知。你不需要手动告诉其他对象进行更新。他们会自动收到新值并执行适当的操作。这是极其强大的。设置是... 阅读全文
posted @ 2015-04-13 13:39 偏未晚 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 除了一般的赋值方法和取值方法之外,借助于键值编码,你还可以用一些标准的存取器方法来访问类的特性。通过指定表示你要访问的属性名的字符串标识符,可以使用这些存取器方法获取或设置的属性。除了使用字符串标识符访问类的特性外,你还可以使用标准化的语法获取对象关系和子类对象。之前我们介绍过如何给一个指定类的特性... 阅读全文
posted @ 2015-04-12 17:26 偏未晚 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 定义自定义数据类型的另一种方式就是使用enum关键字,enum可以创建一种数据类型,用于存储一个有限的可能值列表。要定义一个枚举类型,需要使用 enum 关键字,随后是要声明的枚举的标签,然后是{},其 中包含了用逗号隔开的可能值的列表。typedef enum MyEnum { Value1, ... 阅读全文
posted @ 2015-04-12 17:25 偏未晚 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 结构体由struct表示,是一种可以包含多个自变量的自定义类型。例如,如果你想声明一 个变量,将 x 和 y 坐标组合在一起来表示一个点,可能会使用 struct 来声明这个变量。这可以 利用 struct 关键字实现。声明一个 struct 需要两步。首先,你必须先告诉编译器结构体本身,然后使用这... 阅读全文
posted @ 2015-04-12 17:24 偏未晚 阅读(104) 评论(0) 推荐(0) 编辑
摘要: oc中标量类型最基本形式的变量是标量,标量是一次只能存储一个值的变量。整数、浮点数和字符都是标量。标量有不同的预定义内存空间和可以存储的值的大小。在决定用什么类型定义变量之前应该 知道这些类型的限制。 提供了 NSInteger 和 NSUInteger 类型,它们可以根据我们的编译平台的架构自动在... 阅读全文
posted @ 2015-04-11 19:56 偏未晚 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 源码、编译代码和可执行文件在创建源码后,需要计算机将源码编译成可执行的指令。这个过程叫做编译。几个步骤:1.预编译。可以将预编译想象成计算机为编译代码所进行的准备。这一步中,编译器会移除一些注释等不会变为可执行的代码。同时也会展开部分代码并重新排列某些指令,以使得编译的第二步更加高效。编译第一步的结... 阅读全文
posted @ 2015-04-11 19:31 偏未晚 阅读(199) 评论(0) 推荐(0) 编辑
摘要: loadView方法在控制器的view为nil的时候被调用,用于创建view。视图第一次载入的时候调用,使用代码生成函数。- ( void ) loadView { UIView *view = [ [ UIView alloc] initWithFrame:[ UIScreenmainScreen... 阅读全文
posted @ 2015-04-10 17:51 偏未晚 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 当一个视图控制器被创建,并在屏幕上现实的时候。代码的执行顺序:1.alloc 创建对象,分配空间。2.init 初始化对象,初始化数据。3.loadView 从nib载入视图,通常这一步不需要去干涉。除非你没有使用xib文件创建视图4.viewDidLoad 载入完... 阅读全文
posted @ 2015-04-10 17:38 偏未晚 阅读(1399) 评论(0) 推荐(0) 编辑
摘要: 1.现执行main函数,会调用UIApplicationMain函数(UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])))。2.UIApplicationMain函数创建UIApplication对象,... 阅读全文
posted @ 2015-04-10 16:22 偏未晚 阅读(89) 评论(0) 推荐(0) 编辑