摘要: Objective-C 和 Swift 在底层使用的是两套完全不同的机制,Cocoa 中的 Objective-C 对象是基于运行时的,它从骨子里遵循了 KVC (Key-Value Coding,通过类似字典的方式存储对象信息) 以及动态派发 (Dynamic Dispatch,在运行调用时再决定 阅读全文
posted @ 2016-05-06 17:36 Rinpe 阅读(4163) 评论(0) 推荐(1)
摘要: /* Swift中函数命名的智慧 */ // 1.一般情况下, 我们写一个函数是这么写的 func sayHello(name: String , greeting: String) { print("\(greeting), \(name)") } // 调用的时候是这样的, 这个函数这样读起来并不是很符合人类的阅读习惯 sayHello("Rinpe", greeting: "H... 阅读全文
posted @ 2016-05-06 17:08 Rinpe 阅读(167) 评论(0) 推荐(0)
摘要: /* 隐式可选型 */ // 隐式可选型同样可以赋值为nil, 而且在后面对这个变量的使用也可以不用进行解包 var value: String! = nil // print(value) 这行代码会报错, 所以隐式可选型在值为nil的时候进行操作会出现错误 // 上面代码相当于print(value!), 对一个为nil的可选型进行强制解包后使用, 报错! value = "Value" ... 阅读全文
posted @ 2016-05-06 16:45 Rinpe 阅读(271) 评论(0) 推荐(0)
摘要: /* 下面是介绍Optional Chaining 和 Nil-Coalesce */ // Optional Chaining (可选链) if let errorMessage = errorMessage { errorMessage.uppercaseString } // 这种写法完全等价于上面的写法, 当errorMessage有的时候, 才会去执行"?"后面的代码, 否则... 阅读全文
posted @ 2016-05-06 11:36 Rinpe 阅读(279) 评论(0) 推荐(0)
摘要: //: Playground - noun: a place where people can play import UIKit /* Swift中nil代表是是另外一种类型, 而不像OC那样, 任何对象都能赋值为nil, Swift中的nil就是空, 什么都没有的意思, 当一个变量有可能存在空值的时候, 必须显式的申明为可选型, 否则不能直接赋值为nil, 因为无论是Int, Strin... 阅读全文
posted @ 2016-05-06 10:30 Rinpe 阅读(278) 评论(0) 推荐(0)