Because the non optional type cannot be compared with nil
(Only optional variables contains nil
value). Like if you want to check nil
then just use that way. i implemented it in Playground
let tableView = UITableView()
let index = NSIndexPath()
var cell:UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("")
//then make check for nil if you want
if (cell == nil) {
print("its nil")
} else {
print("not nil")
}