タグ別アーカイブ: NSArray

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

NSMutableArray の removeObjectAtIndex で落ちる

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

などとすると

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

 

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

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

 

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

mutableCopy してあげましょう

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

 

編集後記

もう一人先発が欲しいな

 


独自オブジェクトの配列(NSArray)の存在チェック

こういう奴いる?

自作クラスのオブジェクトを配列に入れて扱う事は良くあります。

フツーにあります。
フツーあります。

で、その配列に『こういう奴いる?』って確かめたい事が良くあります。

フツーにあります。
フツーあります。

そんな時の為のメモ

 

どーやるの?

NSPredicateを使ってNSArrayからデータを抽出します。
抽出するためのメソッドはNSArrayのfilteredArrayUsingPredicateメソッドです。

で、抽出結果が1件以上あるかでチェックします。

こんなクラスがあったとさ

こんな配列があったとさ

存在チェック

 

参考URL

配列からNSPredicate条件を使ってデータを抽出する方法
http://hachinobu.hateblo.jp/entry/20130205/1360031974

 

 


NSArray と NSMutableArray の ソート方法

NSArray と NSMutableArray の ソート方法をメモっとく。
出来てしまえば大した事ではないんだけど、結構時間とられた。。。

 

検索するとよく見かけるのが、比較関数を用意する方法です。

Sun Limited Mt.「NSArray のソート方法」

 

ですが、ちと面倒くさいなぁと思いながらよく見ると別の方法の照会が

蒼い惑星: NSArrayのソート方法について

続きを読む


NSArray と NSArray を結合する。

え〜っと
現在製作中のアプリに行き詰まって、RSSリーダーの習作を作ってます。
で、複数のフィードを結合するのに配列と配列を結合させたくて調べました。