基于Cocoa和CocoaTouch框架,虽然都属于动态运行方式的静态类型语言,但是Swift和OC的区别还是挺大的。因此,我希望通过这样一个系列,以讲故事的方式,将Swift和OC中截然不同的语法、概念、生活中的点点滴滴相互映射,让知识融入生活,知识可以与生活融为一体。哎呀,我去,我脸红了,因为我在装B在门口,一直给他生日发红包的亲戚老是要红包,还说如果不给红包信封,它们会造成麻烦。小明阿姨是标准的月光族。她只记得小明生日的前一天,她好像又变成了月光……为什么?做吗?赌一把~不管能从银行卡里取出多少钱,装进红包里给小明。好吧,如果红包是空的,红包就空了。不管怎样,阿姨尽力了。小明,你应该知道阿姨其实是爱你的。知识点a。可选类型的数据就像一个红包,不管是字符串还是结构体,都可以包在红包里。b.红包只有两种状态,一种是未包裹,一种是包裹。可选数据值只有两种,一种是nil,一种是non-nil。注意:OC中的nil表示空指针,但在Swift中只能用来表示可选数据的状态——红包是空c。“不管银行卡能提多少钱,都装在红包里给小明”这句话是为了说明Optional的常用用法:当你不确定一个对象是否有价值时,你可以使用Optional类型的Packing——比如strings的.toInt()方法(strings可能根本不会转换成int类型的数据)。故事2吃完蛋糕送走大家,小明开心的打开了红包。哇!这个红包毛爷爷的红包真多啊!哇!这个红包居然装的是美金!哇!这个红包居然是空的!!!小明哭了,哭的好伤心,整个人都崩溃了。知识点A.红包拆包是指对Optional类型数据进行强制解析,解析方式为:使用“!”在可选数据之后。b.强制解析前,确保Optional类型的数据不为nil!否则,程序会像小明一样崩溃。8岁以后处理。想起7岁时收到的空红包,小明早早准备了一个透明塑料袋。收到红包时,他让大家先把红包里的面包放进塑料袋里。然后就可以进屋吃饭了。如果塑料袋里什么都没有,小明就会吐槽(好熊孩子-_-|||)知识点这个故事讲的是Optional类型数据的可选绑定。通过可选绑定(optionalbinding)可以判断可选类型是否包含一个值,如果包含,则将该值赋给一个临时常量或变量。可选绑定可以在if和while语句中使用,以评估可选类型的值并将该值分配给常量或变量。iflet塑料袋里的钱=红包里的钱(){小明.开心地亲亲一个方法}else{小明.翻滚吐口水的方法}故事四小明长大了,会当着自己的面让亲戚拆红包,他的行为不太好,他不不在乎一些无良亲戚给空红包的行为。他已经学会装糊涂了(怎么突然变化这么大-_-|||)。坍塌。小明知道谁是可信的,红包里肯定有门票,就算他亲自打开,也不会崩溃;不守信用的人——不守信用的人的红包,不要打开。这就是成长。Topic可选类型的隐式解析有时在程序架构中,在第一次被赋值后,可以确定一个可选类型将永远有一个值。在这种情况下,每次都对可选值进行评估和解析是非常低效的,因为它可以确定它总是有一个值。这种类型的可选状态被定义为隐式展开的可选。通过用感叹号(字符串!)替换要用作可选类型后的问号(字符串?)来声明隐式展开的可选类型。当保证可选项在首次分配后具有值时,隐式展开的可选项很有用。隐式解析的可选类型主要用于Swift中类的构造。隐式解析的可选类型其实就是一个普通的可选类型,但是可以作为非可选类型使用,不需要每次都使用。使用parse获取可选值。结语好了,小明的故事到此结束!以后千万不要给后辈空空的红包!不然他长大了也不会含蓄分析你!哈哈
