Swift中的nil和OC中的nil不一样。OC中的nil表示不存在的对象,你无法给NSInteger类型的变量赋值nil,但是Swift中的nil表示不存在,可以给任何Optional的变量或者常量赋nil,即使是普通类型:
var a: Int? = nil let b: Double? = nil
但是,需要注意的是,无法给非Optional类型的变量或者常量赋nil:
var a: Int = nil let b: Int = nil
上面做法是错误的。