Swift不等于nil

我照着书上的例子写下了如下Swift代码,运行后发现提示Nil cannot be assigned to type ‘Int’

var i:Int?=1
if i!=nil {//Nil cannot be assigned to type ‘Int’
    print(“not nil”)
}
else{
    print(“nil”)
}

检查了很久都不知道错在哪里,到后来尝试改成了下面这种代码,发现就可以了

var i:Int?=1
if i != nil {//注意,!=前后都有个空格
    print(“not nil”)
}
else{
    print(“nil”)
}

虽然成功运行,但并不是很清楚里面的原因是什么。还请大家前来指教

Ubuntu 15.10安装部署Swift开发环境  http://www.linuxidc.com/Linux/2016-01/126995.htm 

Swift 的变化:从 2.2 到 3.0 会带来什么  http://www.linuxidc.com/Linux/2015-12/126440.htm 

Swift 正式开源,同时开源 Swfit 核心库和包管理器 http://www.linuxidc.com/Linux/2015-12/125847.htm 

Apple Swift学习教程  http://www.linuxidc.com/Linux/2014-09/106420.htm 

使用 Swift 构建一个 iOS 的邮件应用 http://www.linuxidc.com/Linux/2014-08/105542.htm 

Swift 2.0开源化  http://www.linuxidc.com/Linux/2015-06/118594.htm 

Linux下搭建Swift语言开发学习环境 http://www.linuxidc.com/Linux/2015-12/125983.htm 

Swift 的详细介绍请点这里