摘要: Control Flow指的是『逻辑控制语句』,包括if、if-else、for、for-in、while、do-while、switch等。其中大部分和OC中差不多,但Swift在某些方便增强了控制语句的功能。譬如for-in中引入.. finalSquare:// diceRoll will m... 阅读全文
posted @ 2015-06-29 17:38 脸大皮厚歌 阅读(402) 评论(0) 推荐(0) 编辑
摘要: Swift集合类型介绍和OC类似,Swift也提供了三种集合类型:Array、Set以及Dictionary。Arrays用于顺序存储数据;Sets用于无序存储不同值;Dictionaries用于存储无序键值对。但Swift的collections和OC中的collections在要存储的元素类型要... 阅读全文
posted @ 2015-06-29 16:31 脸大皮厚歌 阅读(394) 评论(0) 推荐(0) 编辑
摘要: Swift基本类型Swift的类型是在C和OC的基础上发展而来的,Int是整型;Double和Float是浮点型;Bool是布尔型;String是字符串。类似OC,Swift也提出了三个集合类型:Array、Set、Dictionary;除了上述比较熟悉的类型,Swift还增加了OC中没有的类型,比... 阅读全文
posted @ 2015-06-29 16:05 脸大皮厚歌 阅读(280) 评论(0) 推荐(0) 编辑
摘要: KVO的全称是Key-Value Observing,它实现了一种机制,对所关心的属性对象添加观察者,当属性值发生变化时会得到通知,我们可以对变化做相应的处理。看过设计模式的同学应该知道,这是一种典型的观察者模式。KVO的最大优点就是底层框架已经支持,开发人员不需要实现属性值发生变化时发送通知的... 阅读全文
posted @ 2015-06-22 17:41 脸大皮厚歌 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 写在前面近几天花了一些时间了解了一下Objective-C runtime相关的东西,其中涉及到了+load方法,譬如method swizzling通常在category的+load方法中完成。之前对initializer和load的使用就比较疑惑,但一直没有详细去对比了解,以此为契机,集各方资源... 阅读全文
posted @ 2015-06-18 16:14 脸大皮厚歌 阅读(238) 评论(0) 推荐(0) 编辑
摘要: super在Objective-C中,如果我们需要在类的方法中调用父类的方法时,通常都会用到super,如下所示:@interface MyViewController: UIViewController @end @implementation MyViewController - (void)v... 阅读全文
posted @ 2015-06-18 15:54 脸大皮厚歌 阅读(238) 评论(0) 推荐(0) 编辑
摘要: Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也成为“... 阅读全文
posted @ 2015-06-18 15:13 脸大皮厚歌 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Objective-C对象收到消息之后,究竟会调用何种方法需要在运行期间才能解析出来。那你也许会问:与给定的选择子名称相应的方法是不是也可以在runtime改变呢?没错,就是这样。若能善用此特性,则可发挥出巨大优势,因为我们既不需要源代码,也不需要通过继承子类来覆写方法就能改变这个类本身的功能。这样... 阅读全文
posted @ 2015-06-18 14:43 脸大皮厚歌 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 消息转发机制概述上一篇博客消息传递机制中讲解了Objective-C中对象的「消息传递机制」。本文需要讲解另外一个重要问题:当对象受到无法处理的消息之后会发生什么情况?显然,若想令类能理解某条消息,我们必须以程序代码实现出对应的方法才行。但是,在编译期向类发送了其无法理解解读的消息并不会报错,因为在... 阅读全文
posted @ 2015-06-18 11:31 脸大皮厚歌 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 在对象上调用方法是包括Objective-C的众多语言都具备的功能。但在Objective-C中,这个术语叫『传递消息』(pass a message)。『消息』有「名称」(name)或「选择子」(selector),可以接受参数,也可能有返回值。静态绑定和动态绑定由于Objective-C是C的超... 阅读全文
posted @ 2015-06-17 16:16 脸大皮厚歌 阅读(380) 评论(0) 推荐(0) 编辑