Spørsmål & Svar Session 3 IOS Minnehåndtering og Best Practices

I denne ukens Q & A-sesjon svarer Mark Hammonds spørsmål igjen på Axit Patels innlegg "Arbeide med UITableView Class, del 2." Spesifikt diskuterer denne Spørsmål og Svar minnehåndteringsteknikker og evnen til å "autorelease" objekter. Mark snakker også om beste praksis når du bruker viewDidLoad og andre tips relatert til NSString.

Spørsmål besvart:

Opplæringen: iPhone SDK: Arbeide med UITableView Class - Del 2

Spørsmål:
1) For å fylle bildeneArray lager du et par UIImageViews, men du slipper dem senere. Er det greit, eller glemte du bare å gjøre det?
2) Hvorfor lager du dummy arrayene uansett? Kan du ikke bare si self.sitesArray = [[NSArray alloc] initWithObjects: @ "...", ..., null); ?
Eller er det en grunn til å gjøre det slik du gjorde?

Fra: Dan

errata:

  • 06:40 I videoen oppgir jeg at du bruker @ "Hello World!" vil returnere en automatisk utgitt streng. Dette er feil. Det er i stedet en statisk tildelt streng som holdes rundt gjennom hele programmets livssyklus, som påpekt i kommentarfeltet nedenfor.
  • 07:31 Jeg sier at% @ er formatet spesifiserer for en NSString. Teknisk er dette riktig, men det er viktig å merke seg at% @ også brukes til å skrive ut informasjon om andre Cocoa-Touch-objekter også. Et objekt som er formatert med% @, vil bruke den beskrivende forekomstmetoden som er opprinnelig arvet fra NSObject for å vise tilpasset utdata for objektet. NSString implementerer dette for å vise strengverdien, andre objekter oppfører seg på forskjellige måter.