0

これが私の構造です:

Elementというエンティティがあります。要素には複数のタイム スタンプが含まれます。タイムスタンプは要素と関係を持つエンティティです。

Element
   Time Stamp 1
   Time Stamp 2
   Time Stamp 3,
   ...,
   ...

私のView ControllerとTable Viewは次のとおりです。

View Controller A
   TableView A // <- displays elements

View Controller B
   TableView B // <- should display all timestamps from a given element

私がやろうとしていること:

次のように、ビュー コントローラー A で「要素」を取得し、それをビュー コントローラー B に渡すことができます。

Element *anElement = [_fetchedResultsController objectAtIndexPath:indexPath];

ViewControllerB *vc = (ViewControllerB *)[[self storyboard]instantiateViewControllerWithIdentifier:@"ViewControllerB"];
vc.element = anElement;

ここで、View Controller BI に、Table View B にフィードする fetchedResultsController があります。この fetchedResultsController が、渡された Element オブジェクトからのすべてのタイム スタンプを表示する必要があります。

これどうやってするの?

一意の日付プロパティを Element に追加することで、これを修正できることがわかっています。これにより、その一意の日付に一致するビュー コントローラー B に述語を含めることができます。ただし、可能であれば、私はむしろそれを行いません。View Controllerで行う必要があることに依存するために、Core Data Entityが必要であるとは信じがたいです。

ありがとうございました!

4

2 に答える 2

0

タイム スタンプが NSSet の場合は、それを ViewController B に渡すだけで、B の fetchedResultsController を削除できます。

または、上記のようにエンティティを割り当てる代わりに、NSManagedObjectID を ViewController B に渡し、それに基づいてフェッチを行います。これは、B でフェッチ コントローラーを使用する場合に適した方法です。

于 2013-07-24T22:28:43.557 に答える