//: playground - noun: a place where people can play
import cocoa
class person
class residence
subscript
(i:int
) ->
room
func printnumberofrooms()
var address: address?
}class room
}class address else
if (buildingnubmer != nil) else }}
let john =person()
//let johnshouse = residence()
= room(name: "living room")
= johnshouse
/*你能夠將多層供選鏈結連線在一起,能夠掘取模型內更下層的屬性方法和角標。然而多層供選鏈結不能再加入比已經返回的供選值很多其它的層。也就是說:
假設你試圖獲得型別不是供選型別,因為供選鏈結它將變成供選型別。假設你試圖獲得的型別已經是供選型別,因為供選鏈結它也不會提高供選性。因此:
假設你試圖通過供選鏈結獲得int 值,不論使用了多少層鏈結返回的總是int?。相似的,假設你試圖通過供選鏈結獲得int?
值,不論使用了多少層鏈結返回的總是int?。
*/let johnsaddress =address()
johnsaddress.buildingname=
"the"
johnsaddress.street=
"laurel"
john.residence!.address=johnsaddress
//鏈結供選返回值的方法
//if let buildingidentifier = john.residence?
.address?.buildingidentifier()?
.uppercasestring
//連線多層鏈結
//if let johnsstreet = john.residence?.address?.street else
//使用供選鏈結呼叫角標
//if let firstroomname = john.residence?[0].name else
Option可選值可選值(二)
playground noun a place where people can play import cocoa varstr1 供選鏈結和強制拆包的不同。class person class residence subscript i int room func printnumberofro...
option與option之間傳值(傳遞多個值)
function movelist from,to function move fromarray,to 得到在option中的位置 var selectoptionvalue fromarray.value var selectoptionname fromarray.text 得到去向處的opt...
Optional Values可選值簡述
var str string 乙個基礎型別在沒有初始值的時候是不能使用的,而optional value在未經初始化的時候值為nil,nil代表值缺失。varstr string hello vars string str 錯誤,不能將可選量 str直接賦值給 svar s string str 正...