nullable
Xcode 6.3 以降、Objective-C の型はまたはnonnull
でマークできます。これに関する Apple のブログ投稿はこちらです。
問題は、どちらも指定されていない場合、コンパイラが Objective-C コードを Swift に暗黙的にアンラップNSView!
されたものとしてインポートすることです。そのため、オブジェクトが実際にnil の場合、Swift からアクセスするとクラッシュします。これにより、コンパイラ エラーは発生しません。
これは失敗する可能性が非常に高いため、 、または audited region macrosを介して指定された場合を除き、デフォルトで Objective-C のすべてを としてコンパイラに想定させたいと思いnullable
ます。それはどのように達成できますか?nonnull
NS_ASSUME_NONNULL_BEGIN / END