0

NSMutableArray、myArray が nil のときにクラッシュを回避しようとしています。

配列がnilかどうかを確認するコード行は次のとおりです。

if (!self.myArray || !self.myArray.count){

この行の直前にブレークポイントを設定し、nil にするために gdb に移動して次のようにします。

(gdb) set self.myArray = nil
(gdb) po self.myArray
0x11064e8 does not appear to point to a valid object.

EXC_BAD_ACCESS を取得した場合にステップオーバーすると。何を与える?

4

3 に答える 3

0

配列が nil であるか、アイテムがないかを確認します

if (!myArray || myArray.count==0) {
}
于 2012-08-29T11:31:46.513 に答える
0

これは、配列が nil で、要素があるかどうかをチェックします。

if (myArray != nil && [self.myArray count] > 0){
于 2012-08-29T11:29:27.330 に答える
0

ほとんどの場合、両方のテストが実行されるか、2 番目のテストが最初に実行されます。この場合、nil オブジェクトから count にアクセスしようとしてエラーが発生します。

于 2012-08-29T11:32:44.500 に答える