NSArray を NSMutableArray にキャストするとハマる

Pocket

NSMutableArray の removeObjectAtIndex で落ちる

NSArray を NSMutableArray にキャストした配列に対して要素を削除しようとすると落ちてしまいます。

などとすると

というエラーになります。

 

正確にはキャストできない

このエラーは 『NSArray のインスタンスに対して、removeObjectAtIndex は呼び出せませんよ』という事のようです。
どうやらこのキャストはコンパイラに型を伝えているだけでインスタンスは NSArray のままのようです。

 

じゃ、どーすりゃいいの?

mutableCopy してあげましょう

これで要素を削除できます。

 

編集後記

もう一人先発が欲しいな

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

認証コードを入力して下さい * Time limit is exhausted. Please reload the CAPTCHA.