0

私のアプリは時折クラッシュしました

2012-10-10 23:19:24.039 [26442:850f] -[NSNull allKeys]: unrecognized selector sent to instance 0x7fff741cbea0
2012-10-10 23:19:24.040 [26442:850f] *** Terminating app due to uncaught exception of class 'nil'

[obj isKindOfClass:[NSDictionary class]]オブジェクトは呼び出し前にすでにテストされていますallKeys:

意図的に呼び出すと[[NSNull null] allKeys]、クラッシュします

2012-10-11 16:22:15.606 [14939:403] -[NSNull allKeys]: unrecognized selector sent to instance 0x7fff73659f00
2012-10-11 16:22:15.622 [14939:403] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull allKeys]: unrecognized selector sent to instance 0x7fff73659f00'

Terminating app due to uncaught exception of class 'nil'この問題をデバッグできるように、どのような状況が発生するのかを知りたいです。

4

1 に答える 1

0

1: NSNull はメッセージ [allKeys] に応答しないため、例外をスローします。

2: オブジェクトが代わりに [respondsToSelector:@selector(allKeys)] できることを確認する必要があります

3: NSNull クラス オブジェクトが [obj isKindOfClass:[NSDictionary class]] を渡す場合、制御ステートメントに問題があります。

于 2012-10-11T09:48:39.853 に答える