Hjem Sosiale medier Slik bruker du filer for å lagre data for iOS-programmer - dummier

Slik bruker du filer for å lagre data for iOS-programmer - dummier

Video: Helt enkelt: Slik laster du opp bilder til Min Sky | Telenor Norge 2024

Video: Helt enkelt: Slik laster du opp bilder til Min Sky | Telenor Norge 2024
Anonim

I IOS-apper brukes filer til å lagre og gjenopprette tilstanden til et aktivt spill. Hvis du har gjort noen programmering på et hvilket som helst språk (C, C ++, Java, C #, du heter det), har du brukt filer til å lese data fra og skrive data til. Mål-C lar deg også arbeide med filer. Filer i iOS er organisert i kataloger.

Hver app får sin egen katalog hvor appen ligger og dataene kan lagres. Denne katalogen er kjent som appens sandkasse.

En app er forbudt fra å få tilgang til eller opprette filer utenfor sin sandkasse. Når en app trenger å jobbe med brukerens kontakter eller musikk, må systemet (og gjør) tillate filrelaterte operasjoner som trengs for å lese fra eller modifisere disse datalagerene, som ligger utenfor programmets sandkasse.

Denne sandbokkatalogen er organisert i et sett med underkataloger. Apple angir hvordan hver av disse underkatalogene skal brukes, som følger:

  • << appnavn >>. App-katalogen er hvor appens kjørbare og alle filene i bunten er (for eksempel X og O-bilder for Tic-Tac-Toe). Dokumenter-katalogen inneholder data som appen din ikke kan gjenopprette, for eksempel brukergenererte dokumenter eller innhold. Dette er katalogen der Tic-Tac-Toe app lagrer spill, holder sine SQLite-filer, og så videre. iTunes sikkerhetskopierer denne katalogen, så når du kobler enheten til din Mac, blir dataene her lagret.

  • Innbokkatalogen i Dokumenter-katalogen har spesiell betydning. Denne katalogen lagrer filer som

    andre
  • apper ber appen din å åpne. For eksempel plasserer postprogrammet e-postvedlegg knyttet til appen din i denne katalogen. Appen din kan lese og slette filer i denne katalogen, men kan ikke lage nye filer eller skrive til eksisterende filer. Bibliotekskatalogen brukes til filer som ikke er brukerdatafiler, men må sikkerhetskopieres. Med unntak av en underkatalog kalt Caches (som er spesifikt for data, vil appen midlertidig lagre for raskere tilgang), blir filene her sikkerhetskopiert av iTunes. Tmp-underkatalogen lagrer midlertidige data som ikke trenger å fortsette mellom app-kjøringer. Appen din bør fjerne filer fra denne katalogen når de ikke lenger er nødvendig. Systemet kan også rense langvarige filer fra denne katalogen når appen ikke kjører eller diskplassen er lav. Innholdet i denne katalogen er

  • ikke

  • sikkerhetskopiert. Se nå et raskt eksempel i Tic-Tac-Toe som viser hvordan du skriver til og leser fra filer. I dette eksemplet bruker du en fil for å lagre og gjenopprette tilstanden til et spill. Når en bruker berører Lagre spill, lagres den nåværende tilstanden til spillet i en fil med navnet SavedGames. data i mappen Dokumenter i appens sandkasse (banen til denne filen ble satt med #define som den konstante TTTGAMESESSIONSAVEDFILEPATH i filen TTTGameSessionViewController. h).

Hvis brukeren avslutter uten å fullføre spillet, kan hun gå tilbake til skjermbildet og gå tilbake til det lagrede spillet ved å velge Gjenopprett spill.

Nå for noen kode. Følgende kode viser saveGame:

- (IBAction) saveGame: (id) sender {NSDictionary * savedGameDictionary = [activeGame toDictionary]; NSError * feil; NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionary alternativer: NSJSONWritingPrettyPrinted error: & error]; NSString * savedGameString = [[NSString alloker] initWithData: jsonData-koding: NSUTF8StringEncoding]; NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; [savedGameString writeToFile: savedGamesFilePath atomisk: JA-koding: NSUTF8StringEncoding error: NULL];}

Det er enkelt å skrive til en fil. Du bygger bare banenavnet til filen ved hjelp av metoden stringByAppendingPathComponent på et objekt som representerer appens hjemmekatalog (som du får ved å ringe funksjonen NSHomeDirectory). Deretter gjør [savedGameString writeToFile: savedGamesFilePath …] den faktiske skrivingen.

Lesing fra en fil er også grei. Her er koden for restoreGame:

- (IBAction) restoreGame: (id) avsender {NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; NSString * savedGameString = [NSString stringWithContentsOfFile: savedGamesFilePath-koding: NSUTF8StringEncoding error: NULL]; NSError * restoreError = nil; NSMutableDictionary * savedDictionary = [NSJSONSerialization JSONObjectWithData: [savedGameString dataUsingEncoding: NSUTF8StringEncoding] alternativer: NSJSONReadingMutableContainers error: & restoreError]; activeGame = [[TTTGame alloc] initFromDictionary: savedDictionary]; TTTGameGrid * gameGrid = [activeGame getGameGrid]; hvis (! [activeGame isActive]) [boardView disableInput]; [boardView setGrid: gameGrid]; [gameView redraw];}

Du har allerede sett hvordan en sti til filen er opprettet ved hjelp av NSHomeDirectory-funksjonen for å hente hjemmekatalogobjektet, og deretter bruke dette objektets metode strengByAppendingPathComponent for å lage strengen. Deretter leser du hele filen inn i en streng ved hjelp av [NSString stringWithContentsOfFile: savedGamesFilePath …], og du kan deretter behandle strengen etter behov.


Slik bruker du filer for å lagre data for iOS-programmer - dummier

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 ...