F & A-Sitzung 3 iOS Memory Management und Best Practices

In dieser Woche beantwortete Mark Hammonds Fragen zu Axit Patels Beitrag "Arbeiten mit der UITableView-Klasse, Teil 2". In diesem Q & A werden insbesondere Speicherverwaltungstechniken und die Fähigkeit zum "Autorelease" von Objekten erörtert. Mark spricht auch über bewährte Methoden bei der Verwendung von viewDidLoad und anderen Tipps zu NSString.

Beantwortete Fragen:

Tutorial: iPhone SDK: Arbeiten mit der UITableView-Klasse - Teil 2

Frage:
1) Um das imagesArray zu füllen, erstellen Sie ein paar UIImageViews, die Sie jedoch später nicht freigeben. Ist das okay oder hast du einfach vergessen, es zu tun?
2) Warum erstellen Sie die Dummy-Arrays trotzdem? Könnten Sie nicht einfach self.sitesArray = [[NSArray-Zuordnung] initWithObjects: @ "…",…, nil] sagen? ?
Oder gibt es einen Grund, dies so zu tun, wie Sie es getan haben?

Von: Dan

Errata:

  • Beim 6:40 im video erkläre ich, dass @ "Hello World!" gibt eine automatisch freigegebene Zeichenfolge zurück. Das ist falsch. Stattdessen handelt es sich um eine statisch zugewiesene Zeichenfolge, die während des gesamten Programmlebenszyklus beibehalten wird, wie im Kommentarabschnitt unten angegeben.
  • Beim 7:31 Ich erkläre, dass% @ der Formatbezeichner für einen NSString ist. Technisch ist dies korrekt, aber es ist wichtig zu wissen, dass% @ auch zum Drucken von Informationen zu anderen Cocoa-Touch-Objekten verwendet wird. Ein mit% @ formatiertes Objekt verwendet die ursprünglich von geerbte Instanz -description NSObject um benutzerdefinierte Ausgabe für dieses Objekt anzuzeigen. NSString implementiert dies, um den Zeichenfolgenwert anzuzeigen. Andere Objekte verhalten sich unterschiedlich.