Ich habe das im Code definiert:
%Vor%und synthetisiert. Ich habe absolut sichergestellt, dass dieser Controller im Storyboard verwendet wird, und drei Zellen an diese Sammlung angeschlossen.
Als nächstes habe ich im Methodenaufruf didSelectRowAtIndexPath:
diesen Code hinzugefügt, wobei NSLog zum Debuggen hinzugefügt wurde:
Die Ausgabe ist dies:
%Vor%Und natürlich, Verhalten erwartet nicht passieren.
Irgendwelche Ideen, warum das passiert? Ich habe sichergestellt, dass ich statische Zellen verwende und keine dynamischen Prototypen. Als Randbemerkung sind diese drei Zellen auch mit eigenen (funktionierenden) IBOutlets verbunden.
Danke,
Ich fand die Antwort, indem ich Änderungen vornahm, die zu der Zeit für mich keinen Sinn ergaben. Ich habe die Eigenschaft von weak
in strong
geändert und es hat funktioniert.
Warum ich (schwach) an erster Stelle hatte:
Weil ich nicht wollte, dass die Zuordnung aufgehoben wird, wenn sich die Ansicht aufgrund von Speicherwarnungen / etc entlädt.
Warum dieses Denken falsch war:
Weil eine IBOutletCollection eine Instanz von NSSet oder NSArray ist. Das NSSet / NSArray wird von der Ansicht nicht beibehalten, da es nicht selbst eine Unteransicht ist. Mit einem IBOutlet ist eine schwache Eigenschaft in Ordnung, mit einer IBOutletCollection wird eine strong Eigenschaft benötigt, andernfalls ist der Referenzzähler sofort Null und es wird freigegeben.
Ich lasse das hier in der Hoffnung, dass es jemand anderem hilft.
Tags und Links iphone storyboard iboutlet