swift赋值语句的返回值
在C语言中赋值语句的返回值就是值本身..比如可以用int a = b = 2;将a和b同时赋值为2. var b: Int var c: Void = (b = 1) // () c.dynamicType // ().Type print(c) //"()n" 但是,当=左边有optional unwrapping (形如a?.b )的时候,赋值语句返回的是一个Void? 即 ()? class Person { var name: String? } var p: Person?// = Person(); //nil //赋值语句返回的是一个Void? 即 ()? //这里result的值当p为nil的时候为nil,当p有值(赋值成功)的时候返回Optional<()> var result: ()? = (p?.name = "cyper") // nil result.dynamicType // Optional<()>.Type if let result = result { print(result,p!.name!) } else { print("name not assigned") //"name not assignedn" } 注: 参考 iOS 9 programming Fundamentals with Swift chapter 3. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |