Почему в Swift не работает следующее?
if someObject === nil {
}
Вы должны выполнить тест, используя оператор ==, такой как
if someObject == nil {
}
Я думал, что === больше похоже на то, чтобы убедиться, что те же самые (в основном, сравнение указателей) и == больше напоминают проверку isEqual. Таким образом, я думаю, что === было бы более подходящим для тестирования против нуля, но я, очевидно, неверен.
В документации указано:
=== или "Идентично" означает, что две константы или переменные типа класса относятся к одному и тому же экземпляру класса.
== или "Equal to" означает, что два экземпляра считаются "равными" или "эквивалентными" по значению, для некоторого подходящего значения "equal", как определено дизайнером типов ".