Frage

Ich habe eine Listenansicht Klasse , dass genau wie NSCollectionView erfordert einen zusätzlichen Prototyp Artikel und einen Prototyp Ansicht von Nutzen sein. Wenn ein NSCollectionView aus der Bibliothek in Interface Builder fallen werden diese beiden Helfer Elemente automatisch erstellt. Allerdings konnte ich keinen einzigen offiziellen Apple-Dokument Umgang mit diesem Anwendungsfall (beschreibt, wie ihre getan) finden.

Graben durch Apple Dev Guides Ich konnte jedoch finden " ibDidAddToDesignableDocument :“
. Mit dem folgenden Code konnte ich meine Hilfsmittel auf Drop aus der Bibliothek erstellt bekommen:

- (void)ibDidAddToDesignableDocument:(IBDocument *)document {
    [super ibDidAddToDesignableDocument:document];

    NSView *prototypeView = [[[NSView alloc] initWithFrame:NSMakeRect(0.0, 0.0, 300, 65.0)] autorelease];
    DLListViewItem *prototypeViewItem = [[[DLListViewItem alloc] initWithNibName:nil bundle:nil] autorelease];

    [document addObject:prototypeViewItem toParent:nil];
    [document addObject:prototypeView toParent:nil];

    [document connectOutlet:@"view" ofSourceObject:prototypeViewItem toDestinationObject:prototypeView];
    [document connectOutlet:@"listView" ofSourceObject:prototypeViewItem toDestinationObject:self];
    [document connectOutlet:@"prototypeItem" ofSourceObject:self toDestinationObject:prototypeViewItem];
}

Allerdings ...

... IB fügt diese aux Artikel für NSCollectionView nur auf dem tatsächlichen Anfangs ziehen aus der Bibliothek , auf einem anderen Aufruf von „ibDidAddToDesignableDocument :“, wie beim Einbetten, das Kopieren oder das Element zu duplizieren. (Während meiner Methode wäre, und auf alle)

Das macht mich fragen, ob Apple verwendet tatsächlich „ibDidAddToDesignableDocument:“ für diese und wenn ich auf dem richtigen Weg mit diesem überhaupt.

Wie imitiert man dies richtig? Ich habe eine harte Zeit versucht, für zwischen verschiedenen Kontexten zu unterscheiden „ibDidAddToDesignableDocument:“. Jeder erfolgreich getan das?
Leider keine von Google, Google Code, GitHub, oder die Dokumentation enthüllt etwas hilfreich, so dass ich hier dringend Hilfe bin. : (

Vielen Dank im Voraus!

Edit: Oh toll, diese Frage nur mir die tumbleweed Abzeichen gebracht, yay! Nicht.
Ich bin mehr in nützliche Antworten tatsächlich, aber trotzdem danke;)

War es hilfreich?

Lösung

ich mit diesem auf einem Plugin gerungen habe ich mich eine Weile her. In meinem Fall konnte ich eine Eigenschaft des Objekts überprüfen, um zu sehen, ob es bereits initialisiert worden war und überspringt die Hilfsobjekte in diesem Fall hinzufügen. Ich glaube, BWToolkit einige interne Kontrolle verwendet, die ähnlich ist. Können Sie nicht Ihr Objekt Eigentum ‚prototypeItem‘ überprüfen, um zu sehen, ob Sie Ihre aux Objekte überspringen müssen erstellen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top