неожиданно обнаружил nil при развертывании необязательного значения в Swift 1.2

У меня есть класс Objective C SomeClass, который имеет свойство, допускающее значение NULL:

@property (nonatomic, strong) __nullable ClassA* clsAProperty;

В файле Swift 1.2 (Xcode 6.3 beta 3) я пытаюсь присвоить свойство свойству, допускающему значение NULL:

private var clsAProperty : ClassA?
...
self.clsAProperty = SomeClass.someInstance().clsAProperty as ClassA?

Этот код дает сбой со следующим сообщением:

Неустранимая ошибка: неожиданно найдено nil при развертывании необязательного значения

Все работает как положено при компиляции под Xcode 6.2.

Это баг, или я что-то пропустил? Какие необязательные действия пытается развернуть среда выполнения, когда оба должны быть необязательными?


person Leo Natan    schedule 18.03.2015    source источник
comment
В XCode 6.3 произошли некоторые изменения в отношении Objective-C и Nullability, проверьте эту ссылку — developer.apple.com/swift/blog/?id=25   -  person rshankar    schedule 18.03.2015
comment
@rshankar Я не вижу ничего, что могло бы предложить изменение в этом отношении по сравнению с предыдущими итерациями Swift.   -  person Leo Natan    schedule 18.03.2015
comment
Возможно ли, что SomeClass.someInstance() это nil или это просто код-заполнитель?   -  person sbooth    schedule 18.03.2015
comment
@sbooth Это код-заполнитель, и экземпляр не равен нулю. clsAProperty есть, но это приемлемо.   -  person Leo Natan    schedule 18.03.2015


Ответы (1)


Похоже, это была ошибка Xcode. Более поздние бета-версии исправили проблему.

person Leo Natan    schedule 20.05.2015