2012-01-27 15 views
2

現在、データの合計を得るためにSQLデータベースを多く呼びますが、データはNSArrayに既に入っていますので、代わりにこの計算を行います。 (.. PK、BFNeeded、CFNeededなど)私は、SQLテーブルと同じいくつかのNSStringsを持つカスタムオブジェクトを持っているNSArrayのSQL SumとIf/Caseステートメント

SELECT MAX(pk), pk, CASE WHEN result IS NULL THEN BFNeeded ELSE CFNeeded END AS Carry, 
CASE WHEN result IS NULL THEN 1 ELSE 0 END AS Settle FROM table1; 

と私は、これらのオブジェクトのいくつかを持っている: 私は現在、SQLデータベースにこのクエリを使用しますNSArrayで。

アレイで上記のクエリを実行するにはどうすればよいですか? 上記のようなSQLクエリを実行する方法はありますか、まったく異なるアプローチをとってCASEを行う必要はありますか?

おかげ

答えて

1

は、あなたが求めているアレイ上での操作の種類に対応することができる演算子を、コーディングキー値をチェックしてください:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html#

あなたの配列をフィルタリングしたり、述語を求める可能性が、たとえば、ブロックを使用して配列を反復処理したり、特定の条件を満たすオブジェクトのサブセットを取得したり、テストを渡すことができます。例: NSArray * filteredArray = [myArray filteredArrayUsingPredicate:myPredicate];

次に、結果セットの計算にKVC演算子を使用します。

+0

助けてくれる操作がありませんでしたが、解決策を見つけることができました。 ありがとう – Darren