-1

私のアプリにはカテゴリがあり、カテゴリには情報を含むセルがあります。ユーザーはカテゴリを追加でき、カテゴリに情報を含むセルを追加できます。またはをUISwitch設定するNSString情報を使用してセルのスタイルを変更できます。これはすべて Core Data に保存されます。特定のカテゴリの情報を含むすべてのセルに、カテゴリセルのスタイルが変更された ときが必要です。スタイルを変更できますが、すべてのs が に等しい場合、どのように比較できるかわかりません。@"ON"@"OFF"@"ON"@"OFF"
NSString @"ON"NSString@"ON"

誰でも私を助けることができますか?

編集:
2 つのエンティティを使用します (1 つはカテゴリ用、もう 1 つは情報を含むセル用)。カテゴリのエンティティには、名前を持つ属性がdonelistあり、タイプは文字列です。情報のエンティティには、名前を持つ属性がdoneinfoあり、タイプも文字列です。

目標は、カテゴリ内のすべての情報が に設定されている場合、スタイルを変更する (dequeueReusableCellWithIdentifier) こと@"ON"です。色を変えたスタイルという意味です。私はこれを識別子で行っていましたが、それは大きな問題ではありません。問題は、カテゴリ内のすべての情報が完了した (NSString が に設定されている) かどうかを確認する方法がわからないことです@"ON"

4

1 に答える 1

1

catCategoryオブジェクトであり、 がCategoryからCellcellsへの対多関係である場合、「doninfo == ON」を使用してすべてのセルを取得できますcat

NSPredicate *onPredicate = [NSPredicate predicateWithFormat:@"doneinfo = 'ON'"];
NSSet *onCells = [cat.cells filteredSetUsingPredicate:onPredicate];

このオブジェクトのすべてのセルcatが「ON」かどうかをテストできます

[cat.cells count] == [onCells count];

別のオプションは、計算することです

NSSet *onOff = [cat.cells valueForKey:@"doneinfo"];
  • のすべてのセルcatが "ON" の場合、これはちょうど 1 つの要素 "ON" を持つセットを提供します。
  • のすべてのセルcatが "OFF" の場合、これはちょうど 1 つの要素 "OFF" を持つセットを提供します。
  • 一部のセルが「オン」で一部が「オフ」の場合、これは 2 つの要素を持つセットになります。
于 2012-10-13T22:08:13.800 に答える