1

Stringカスタム オブジェクトの一部としてプロパティがあります。カスタム オブジェクトの にアクセスしようとするとString(Null の場合)、プログラムがクラッシュします。

NSNullカスタム オブジェクトを出力することで、文字列が型であることがわかります。

試すたびに

if theString == nil if theString == NSNull() if theString.isEmpty

プログラムがクラッシュします[NSNull length]: unrecognized selector sent to instance

私が理解していないのは、それが呼び出そうとしているところlengthです。関数を呼び出すだけだと思いますlengthisEmpty、他の2つの条件でもクラッシュします。

カスタム オブジェクトが object-c で を使用して作成されていることが原因である可能性があると考えていますが、NSStringを に変換しようとするとこれもクラッシュするため、StringどうNSStringすればよいかわかりません。

ありがとう!

4

1 に答える 1

3

私自身の質問に答えるのは好きではありませんが、Obj-C プロパティがNSNullSwift でアンラップしようとすると、エラーが発生します。

カスタム オブジェクト (Obj-C モデル) をチェックすることでこれを修正しました。プロパティがある場合は、次のNSNullようにそのプロパティを nil に設定します。

if (theString == (id)[NSNull null]){
     theString = nil

}
于 2015-09-02T19:01:27.423 に答える