Întrebări și răspunsuri Sesiunea 3 Gestionarea și cele mai bune practici de memorie iOS

În sesiunea de Q & A din această săptămână, Mark Hammonds răspunde la întrebările rămase pe postul lui Axit Patel "Lucrul cu clasa UITableView, Partea 2." În mod specific, acest Q & A discută tehnicile de gestionare a memoriei și capacitatea de a "autorelaționa" obiecte. Mark, de asemenea, vorbește despre cele mai bune practici atunci când folosiți ViewDidLoad și alte sfaturi legate de NSString.

Întrebări răspuns:

Tutorial: iPhone SDK: Lucrul cu clasa UITableView - Partea 2

Întrebare:
1) Pentru a umple imaginileArray creați câteva UIImageViews, dar nu le eliberați mai târziu. Este bine sau ați uitat să o faceți??
2) De ce creati oricum matricea manechinului? Nu ai putea să spui doar auto.sitesArray = [[NSArray alinia] initWithObjects: @ "...", ..., nil]; ?
Sau există un motiv să o faceți așa cum ați făcut?

Din: Dan

Erată:

  • La 06:40 în videoclipul pe care îl spun că folosesc @ "Hello World!" va returna un șir automat eliberat. Acest lucru este incorect. Acesta este în schimb un șir alocat static, care este păstrat pe tot parcursul ciclului de viață al programului, după cum sa subliniat în secțiunea de comentarii de mai jos.
  • La 07:31 Declar ca% @ este specificatorul de format pentru un NSString. Din punct de vedere tehnic, acest lucru este corect, dar este important să rețineți că% @ este, de asemenea, utilizat pentru a imprima informații despre alte obiecte Cocoa-Touch, de asemenea. Un obiect formatat cu% @ va folosi metoda instanței de descriere inițial moștenită de la NSObject pentru a afișa ieșirea personalizată pentru obiectul respectiv. NSString implementează acest lucru pentru a afișa valoarea șirului, alte obiecte se comportă în moduri diferite.
Cod