首页 > 编程语言 > 详细

Swift的可选的和可选链

时间:2015-11-04 21:11:55      阅读:294      评论:0      收藏:0      [点我收藏+]

1、可选的:使用可选(optional)来处理值可能缺失的情况,可选表示-有值,等于x 或者没有值

var str:string?="aaaaaaaaaaaaa" //str是一个可以设置nil的string
enum Optional
{
case None
case Some
}
str=nil
let i:int? //如果声明的时候不赋值,默认就是nil

str:startIndex//会报错,因为此时str不是一个真正的string,所有没有startIndex
//两种情况解决Optional的问题
//第一种str!.startIndex //强制变为string
//第二种optionalbinding
if let s=str
{
print("\(s)")
}else
{
print("str 是nil值")
}
var str2:string!="ssss"//称之为隐私的解封(implicitly unwrapped)
str2=nil

str2.starIndex

 

2、可选链:有以下几点

1、可选链一定要是可选才行,

2、返回的重视一个可选的

3、可以设置值(不仅仅是访问)

4、可以访问方法即时无返回值

案例如下:

class person
{
var ci:classInfo?
}
class classInfo
{
var t:Teacher?
}
class Teacher
{
var name="cj"
}
let p=Person()
let t=Teacher()
let ci=ClassInfo()
ci.t
p.ci=ci
p.ci?t?.name="double zhang"
p.ci.t?.name
p.ci!.t!.name //可以强制解封
if let n=p.ci?.t?.name
{
//也可以用可选绑定
}

Swift的可选的和可选链

原文:http://www.cnblogs.com/tyty/p/4937327.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!