Hjem Sosiale medier Slik administrerer du minne for iOS Apps - dummies

Slik administrerer du minne for iOS Apps - dummies

Video: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024

Video: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024
Anonim

Den enkleste måten å administrere minne for iOS-apper er å la Objective-C runtime-avtale med det ved hjelp av et system som kalles automatisk referanse telling (ARC) - vennligst bruk den. (ARC har vært tilgjengelig siden 2011 i Xcode 4. 2 eller nyere.)

Når iOS ble først introdusert, måtte du manuelt administrere minne ved å holde oversikt over livscyklusen til objektene i programmet. Du gjorde det ved å fortelle Objective-C runtime-systemet når du skal beholde og når du skal slippe objekter, ved hjelp av en skjema Apple kalt manuell hold-release, som igjen brukte en teknikk kjent som referansetelling.

Selv om manuell administrasjon av minne er absolutt en plage, forklares det her fordi du vil se det i eldre iOS-programmer, så du kan også være forberedt. Her er hva du gjør. Først oppretter du en klasse som arver fra roten klassen NSObject i stiftelsens rammeverk. Klassen din arver deretter tre metoder for minnehåndtering:

  • behold

  • utgivelse

  • autorelease

referanseteller i objektet som i hovedsak forteller kjøretidssystemet hvor mange steder i programmet ditt (eller andre objekter) vil opprettholde en referanse til gjenstand. Her er hvordan denne referansetellingen styres av iOS:

Hver gang beholdningen er påkalt et målobjekt, økes referansetellingen med en.

  1. Så, hvis fem objekter ringer beholde på målobjektet, vil referansetellingen være fem (for øvrig når objektet tildeles, øker init automatisk referansetellingen).

    Når de slutter å trenge målobjektet, vil de fem objektene ringe ut på objektet. Hver gang utgivelsen blir kalt, blir referanseantallet til målobjektet redusert (med en).

  2. Når referansetellingen blir null (det vil si når det siste objektet ringer ut), blir objektets minne frigjort av systemet.

  3. Den tredje metoden - autorelease - kalles når en gjenstand du har opprettet, må avleveres til en tråd, og du vil at tråden skal ta vare på objektet når tråden er ferdig.

Internt bruker ARC-systemet det samme referanse telling systemet som brukes til manuell referanse telling. Men for å bruke ARC, legger du koden i @autoreleasepool-blokkene slik:

@autoreleasepool {… Koden din …}

Den

kompilatoren setter inn riktig minnehåndteringsmetode samtaler inn i koden så at noe som er opprettet i denne @autoreleasepool-blokken, frigjøres når programmet går ut av blokken.

Slik administrerer du minne for iOS Apps - dummies

Redaktørens valg

10 Måter å varme opp og slappe av før og under GRE-dummies

10 Måter å varme opp og slappe av før og under GRE-dummies

GRE er like mye fysisk trening som det er mentalt, og det er mer som en maraton enn en sprint. Hvis du kommer ut av blokkene med en sprintens tempo, er du sikker på å raskt eksosere deg selv. Nøklene til å komme til enden og fullføre sterken, oppvarmer seg mentalt og holder seg i orden ...

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Når du takler et argument Analysespørsmål på GRE, din jobb er å identifisere om forfatteren har gjort en tilstrekkelig jobb med å presentere og støtte sin stilling. Graduate skoler forventer at du ikke bare skal lese med forståelse, men også å undersøke informasjonen og argumentet som presenteres og sortere logikken som er rimelig fra ...

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Når du tar GRE Verbal testen, et av essay spørsmålene vil be deg om å analysere et argument. Du må lese argumentet, se på sine underliggende forutsetninger, og deretter forklare hvordan disse forutsetningene påvirker argumentet. Følgende praksis spørsmål ligner på hva du finner på testen. Øvelsesspørsmål Tid: ...

Redaktørens valg

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Sikkerhetspolitikk for mobile enheter som knytter seg til bedriftsnettverket kan deles inn i to kategorier: retningslinjer for godkjente enheter og retningslinjer for andre enheter. Enhetspolicyer. Her er en oversikt over de to kategoriene av enhetsretningslinjer som du må kommunisere med brukere: Politikk for godkjente enheter: Denne policyen gjelder for alle bedriftsutstedte ...

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Ved hjelp av skybasert endpoint-sikkerhet er en metode for å beskytte enterprise mobile enheter fra virus, malware, spam og andre trusler. Den faktiske trusselsbeskyttelsen skjer i skyen eller sentralisert datasenter for sluttpunktsprogramvareleverandøren i denne typen distribusjon. Trafikk til og fra de mobile enhetene blir omdirigert på enheten til ...

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Nå som du har tenkt på å sikre mobilen enheter på nettverket ditt fra trusler som virus og malware, er det på tide å planlegge for ekstern håndheving av retningslinjer for enhetsadministrasjon eller sikkerhet. Du får ideen. Det handler om enhetssikkerhetsetikett, om å ta de enkle, men ofte ignorerte trinnene for å beskytte vitale data lagret på ...

Redaktørens valg

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Legeassistenteksamen PANCE) vil stille spørsmål om forhold som påvirker hånden og håndleddet. De spenner fra godartede cyster til mindre forstuinger til utbruddssvikt, så gjør deg kjent med det grunnleggende. Ganglioncyster En vanlig myk vævsmasse som du kan se på hendene og håndleddene, er en ganglioncyst, også kjent ...

HIV Grunnleggende for legeassistenteksamen - dummies

HIV Grunnleggende for legeassistenteksamen - dummies

For legeassistenteksamen (PANCE), bør du være kjent med noen generelle ting som angår HIV, spesifikke infeksjoner relatert til HIV, og bivirkninger av visse medisiner. HIV står for humant immundefektvirus. Risikofaktorer for å skaffe hiv inkluderer høyrisiko seksuell atferd og narkotikamisbruk, spesielt intravenøs bruk med skitne nåler. Kommer i kontakt med ...

Mageområdet for legeassistenteksamen - dummies

Mageområdet for legeassistenteksamen - dummies

Etter å ha reist gjennom spiserøret, din neste destinasjon i forberedelsene til legeassistenteksamen (PANCE) er det livlige magesektoren. Inneholder cardia, fundus, antrum og pylorus, er dette området bare moden for patologi og fremtidige PANCE-spørsmål. Magen er et sted hvor mye av fordøyelsen finner sted. Hovedcellene ...