2010-11-27 22 views
0

Wenn ich eine Instanz meines Objekts im Interface Builder erzeuge, wird es sofort nach dem Laden vom Garbage Collector zerstört. Was ist ein sauberer Weg, dem entgegenzuwirken? Ich habe herausgefunden, dass ich einen [self retence] im Konstruktor machen oder eine Steckdose im Fenster-Controller erstellen kann. Ich denke nur, dass es einen besseren offiziellen Weg geben muss, dies zu tun? Danke, ChaosbitGarbage Collector zerstört Objekte von Interface Builder

+0

Nein, es nicht durch die zerstörte Bekommt Müllsammler. iOS verwendet (noch) keinen Garbage Collector. :) – jer

Antwort

1

Verwaiste Objekte sind in der Regel keine gute Idee, außer in Sonderfällen, also ist es normal, dass jedes Objekt ein anderes Elternobjekt hat, das einen Verweis darauf behält (und es behält).

Der beste Weg, um dies zu erreichen, ist eine Steckdose auf Ihrem Fenster-Controller (oder woanders angemessen) und sicherstellen, dass es das Retain-Attribut in der Eigenschaft festgelegt hat.

(auf Nebenbei bemerkt, Ihr Objekt Garbage Collected nicht ist, da es auf Cocoa Touch nicht so etwas. Es ist Autoreleased wird, was ein anderes Konzept ist)

Verwandte Themen