Разница между переменной, установленной на ноль и 0 - PullRequest
3 голосов
/ 17 июня 2010
if (myFloat == nil){
    \\Do Method
}

В описанной выше ситуации метод будет работать, только если myFloat равно nil.Будет ли он также работать, если myFloat было установлено на 0?

Ответы [ 2 ]

2 голосов
/ 17 июня 2010

ноль следует использовать только с указателями.Он говорит, что указатель не был установлен в значение.

Число с плавающей запятой и другие типы Си просто имеют значение.(Возможно, значения типа float и double могут иметь такие значения, как NaN, но это сложнее в управлении)

В Objective C вы можете заключить число с плавающей точкой в ​​класс NSNumber.На объект этого класса ссылается указатель, поэтому переменная типа NSNumber * может быть nil.

0 голосов
/ 17 июня 2010

Ну, технически, ноль равен 0. Однако, кое-что из этого зависит от типа переменной myFloat. Если myFloat - это float C, вы не можете зависеть от того, равен ли он точно 0. Вы действительно должны использовать nil для типов идентификаторов.

...