I ein Storyboard, die ein Hauptfenster (mit einer entsprechenden MainWindowController
Klasse) enthält, und eine Hauptansicht (ein NSSplitViewController
, mit entsprechenden MainViewController
Klasse). Bei bestimmten Funktionen versuche ich den Delegierten der in der View enthaltenen NSSplitView
auf die MainWindowController
Klasse zu setzen.kann nicht delegieren ändern auf NSSplitView
Ohne eine IB-Verbindung ist der Delegierte NSSplitView
bereits beim Start der Anwendung auf MainViewController
eingestellt. Ich bin in der Lage einen Verweis auf die MainWindowController
zu bekommen, aber wenn ich die Delegierten an die Fenstersteuerung zu setzen versuchen (die NSSplitViewDelegate
nicht implementiert), erhalte ich folgend:
*** Assertion failure in -[NSSplitView setDelegate:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.34/AppKit.subproj/NSSplitView.m:600
Dies geschieht auch, wenn ich versuche, Setzen Sie den Delegaten auf nil
.
Weiß jemand, warum dies so sein könnte, ob es Einschränkungen beim Festlegen von Delegaten gibt und ob es eine Möglichkeit gibt, IB zu verwenden, um den Delegaten eines Elements in einer Ansicht auf einen anderen Controller zu setzen?
Danke.
Ja, der Groschen fällt. Welchen Sinn macht es schließlich, einen NSSplitViewController zu verwenden, wenn die Split-Ansicht ihn nicht verwendet? Letztendlich ging es darum, die Protokollaufrufe innerhalb des View-Controllers und des Window-Controllers zu implementieren und dann eine gemeinsame Methode aufzurufen, um diese zu verarbeiten. (Das Szenario wollte eine geteilte Ansicht in der Titelleiste, um die geteilte Ansicht in der Hauptansicht zu verfolgen). Danke für die Hilfe. –