iOS5のcontainsObject
どうやら、i0S5になって、MSArrayのcontainsObjectメソッドの扱いが少し変わったようです。
containsObjectは、NSArrayの中にcontainsObject:objectのobjectで指定したオブジェクトが含まれているかどうかをBOOL型で返すメソッドです。
iOS4.3までは、objectをreleaseした後でも、NOを返してくれていたんですが、iOS5になって"EXC BAD ACCESS"という実行時エラーになってしまいました。
まあ、存在しないオブジェクトを引数に与えている方が悪いんですが、以前はそれで動いていたので、そういう使い方をしていたんです。
releaseした後、nilを入れておくと、うまく動くようになったので、どうやら単なるidの値がNSArrayに入っているかどうか見るだけでなく、そのオブジェクトを一度評価しているみたいです。
たぶん、その評価でreleaseされているから"EXC BAD ACCESS"がでるんじゃないかと。
releaseしたオブジェクトには、きちんとnilを入れておくと良い、という事がますます重要になってきたようです。