2012-03-02 10 views
0

に基づいて結果を取得し、並べ替え、いずれかのマッチがあれば返します。... NSPredicate。は、私は変数の数(別のオブジェクトでは、実際に同じ属性)と比較したい私のデータモデル内のいくつかのフロート属性を持っている...ここでのシナリオだ</p> <p>をいくつかの基準

しかし、私がしたいのは、それらの比較のどれが真であると評価されてからカウントされるかを把握することです。それで、上位のXの結果、つまり最も多くの比較が真であるものだけを返したいと思います。

例...(ない実際のコード!!)

object1.float1 = 1; 
object1.float2 = 2; 
object1.float3 = 3; 

object2.float1 = 1; 
object2.float2 = 2; 
object2.float3 = 4; 

object3.float1 = 1; 
object3.float2 = 4; 
object3.float3 = 4; 

float1Variable = 1; 
float2Variable = 2; 
float3Variable = 3; 

kReturnedObjects = 2; 

は、私が唯一のオブジェクト1とオブジェクト2を取得したいです。

私の可能な解決策のほとんどは非常に面倒です。

答えて

0

私がしたいのは、オブジェクトの「類似性」を計算するための何らかの評価関数を定義することです。すなわち、

s(obj, comparison_obj) := (obj.var1 == comparison_obj.var1) + (obj.var2 == comparison_obj.var2) + (obj.var3 == comparison_obj.var3) 

大きいほど同じ変数になります。コアデータを使用してkReturnedObjectsオブジェクトのリストを表示し、s降順でソートします。

関連する問題