0

JSON でフォーマットされた Web からデータを取得しています。「ValueForKeyPath」を使用してデータを解析すると、文字列値が id オブジェクトとして格納されます。

だから私はデータをに保存しNSMutableArray ますデバッガーウィンドウでは、追加されたすべての要素が (id) null として表示されます。

if ステートメントがあります

if ([[self.activeCategories objectAtIndex:selected] boolValue] == true)

場合によっては、20% の確率で if ステートメントが失敗することがあります。が収納型
だからかなと思っていました。配列内のすべてのオブジェクトに対して行う必要がありますか? (NSString *) を使用して直接キャストした場合でも、デバッガーでタイプされているようです。self.activeCategoriesid[NSString stringWithFormat@"%@", x]id

私にとっては非常に奇妙なエラーです...エラーは一貫して再現できないためです。

4

1 に答える 1

1

そのようにしてみてください:

if ([[self.activeCategories objectAtIndex:selected] boolValue])

その記事によると、BOOL は比較に失敗する可能性のある 0 と 1 以外の値を保持する場合があります。

于 2013-05-03T23:45:07.340 に答える