Core Data: Build a popup with different options on each line

  • ===== Context =====
    I have the following data scheme in my application :

    Character (has many) Usage examples (has many) Translations

    I have a NSTableView representing my character list (with 2 columns:
    glyph, number of lines) and an other for the examples (with 3
    columns: value, transliteration, and translations).

    In my Example table, I have a translation column. I want it to
    display one of all translations available (of the language set in
    Preferences).

    ===== What is working =====
    For this goal, I've done this in Interface Builder :
      - I have created instances of NSArrayController for Character,
    Example and Translation entities and bound to my AppDelegate
    NSManagedObjectContext object.
      - I've bound my character columns values to the corresponding
    properties in Character NSArrayController
      - I've bound my example string columns values  to the corresponding
    properties in Example NSArrayController

    All of this works well.

    ===== What is not working =====
    Then, I've tried to bound my translation column content to
    ExampleArrayController : arrangedObjects.translations.
    And set the contentValues to ExampleArrayController :
    <arrangedObjects.translations....>[Objects/Arrays/Sets].value

    But it failed, and I've got the following error :
    2007-09-14 15:54:30.000 iKanji[1732] *** -[_NSFaultingMutableSet
    objectAtIndex:]: selector not recognized [self = 0x345290]

    I don't know how to set my bindings in order to achieve the result I
    want. I was able to have something approching the desired result :
    - A translation array controller with its contentSet bound
    selection.translations of Example array controller
    - Bound the Column content and contentValues, to the array controller

    Thanks for your help.
    Yvan
previous month september 2007 next month
MTWTFSS
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Go to today