0

より一般的な質問を受けました。テーブルビューの代わりに、ボタンとラベルを備えた通常のビューがあります。それぞれ3つ。データベースにちょうど 3 つのオブジェクトがあり、それらを XML に解析した場合、VC はそれらを表示します。しかし、XML に 2 つのオブジェクトしかない場合、xcode は次の理由でクラッシュします。

'*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'

3 つのラベル/ボタンが必要ですが、1 つのラベル/ボタンは空のままなので、これは理にかなっています。オブジェクトがある場合にのみボタンとラベルを塗りつぶすように指示することで、回避しようとしました。

if ( object1 != nil)

しかし、これは簡単すぎるかもしれません。データベースにダミー オブジェクトを入れることを考えていました。それから、本物のものが入るたびにそれらを削除する必要があり、その逆も同様です。

おそらくこの問題にも遭遇し、解決策やアイデアがありますか?

4

2 に答える 2

3

なぜ問題を複雑にしたいのですか?nil をチェックすることは、完全に受け入れられる解決策です。

于 2012-04-08T12:46:03.727 に答える
1

これを行うには、nil をチェックするのが良い方法です。配列が初期化されていて空の場合は、カウントも確認する必要があります。

そのようです:

if( (array != nil) && ([array count] > 0) ) {
    //do something
}
于 2012-04-08T13:04:47.097 に答える