可选类型(optionals)用于处理至可能缺失的情况
- 有值,等于x
- 没有值
1.赋值过程
int构造器,将string转为int,并非所有字符串都可以转换成整数,比如“hellow”,所以返回的类型为(optional) Int
let possiblenumber="123";
var convertnumber:int?=int(possiblenumber);
2.nil
变量赋值为nil,表示没有值
var a:int?=404;
//包含一个可选的int 404
a=nil;
//a此时不包含值
var b:string?
//b被自动设置为nil
3.解析
1.强制解析
!:有可选值,可以调用
import Cocoa
var mystring:string?
mystring="hellow";
if mystring!=nil
{
print(mystring!)
//强制解析
}
else
{
print("nothing");
}
2.自动解析
var myString:String?---------->var myString:String!
?---------->!
4.可选绑定
判断是否包含值,如果包含就把值赋给一个临时常量或者变量
import Cocoa
var mystring:string?
mytring="hellow"
if ler youstring=mystring
{
print("youstring=\(youstring)")
}
else
{
print("nithing");
}