Так как Xcode 6.3, типы в Objective-C могут быть помечены nullable
или nonnull
, здесь сообщение в блоге Apple об этом.
Проблема заключается в том, что когда ни один не указан, компилятор импортирует код Objective-C как неявно разворачиваемый в Swift, например. NSView!
. Поэтому, когда объект фактически равен нулю, он будет сбой при доступе от Swift. Это означает, что не создает ошибку компилятора.
Поскольку это очень сложно, , я хотел бы, чтобы компилятор принимал все, начиная с Objective-C по умолчанию, как nullable
, за исключением случаев, когда это иначе указано через nonnull
, или проверенных макросы региона NS_ASSUME_NONNULL_BEGIN / END
. Как это можно достичь?