Frage

Ich bin über meine erste iPhone App einpacken und ich dachte, es durch die Leaks Performance Tool laufen würde. eine offensichtlichen Nach dem Fixieren der einzigen, den ich verlassen habe, ist eines mit einem Nib als Tabellenkopf Ansicht vertreten durch loadNibNamed geladen (I wurde nach dem Rezepte Demo hier).


- (void)viewDidLoad {
    [super viewDidLoad];

    if (self.tableHeaderView == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"TableHeaderView" owner:self options:nil];
        self.tableView.tableHeaderView = self.tableHeaderView;
    }
}

Dann in dealloc:


- (void)dealloc {
    [tableHeaderView release];
    [super dealloc];
}

Instruments sagt mir, dass ich 256 Bytes bin undicht mit 2 Gasaustritt aus der Linie mit loadNibNamed kommen. tableHeaderView ist das einzige Top-Level-Objekt in der Nib (ich habe im Debugger Nachweis erbracht, dass). Gibt es etwas, das ich vergessen zu veröffentlichen? Bin falsch interpretiert ich, was Instruments mir erzählt? Ist es falsch? Ist es etwas, das das Betriebssystem später aufzuräumen wird?

War es hilfreich?

Lösung

Ist Instruments Sie diese ausschließlich auf den Simulator zu sagen, oder meldet es die gleiche Sache auf einem Gerät? Wenn Sie es nicht auf dem Gerät bekommen, dann ist es die Simulator -. Und das ist bekannt, geschehen (es ist nicht ein genau Spiel)

Auch unten in dealloc, wäre es nicht [self.tableHeaderView release] werden? Sie haben mit Ihrer Nutzung konsistent sein.

Um Verwirrung zu vermeiden, in Ihrem .h, würden Sie erklären dies:

NS/UI/??xxxxxx *_MyObjectName;   //notice the underscore

Dann wird die Immobilie wie folgt aus:

@property .... NS/UI/??xxxxxx *MyObjectName;   //no underscore

synthetisieren dann die Getter / Setter wie folgt aus:

@synthesize MyObjectName=_MyObjectName;

Schließlich beziehen sich auf das Objekt während des gesamten Programms mit [self.MyObjectName ...];

Andere Tipps

Wenn Sie eine Feder laden, sind Sie verantwortlich für alle der Top-Level-Objekte in der Nib-Datei freigeben. Gibt es etwas in dieser Datei neben dem TableHeaderView?

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