Hjem Social Media Sådan bruges filer til at gemme data til iOS-apps - dummies

Sådan bruges filer til at gemme data til iOS-apps - dummies

Video: Sådan bruger du dropbox 2024

Video: Sådan bruger du dropbox 2024
Anonim

I IOS apps bruges filer som midler til lagring og genoprettelse af tilstanden for et aktivt spil. Hvis du har lavet nogen programmering på et hvilket som helst sprog (C, C ++, Java, C #, navngiver du det), har du brugt filer til at læse data fra og skrive data til. Mål-C giver dig mulighed for også at arbejde med filer. Filer i iOS er organiseret i mapper.

Hver app får sin egen mappe, hvor appen befinder sig, og dens data kan gemmes. Denne mappe er kendt som appens sandkasse.

En app er forbudt at få adgang til eller oprette filer uden for sin sandkasse. Når en app skal arbejde med brugerens kontakter eller musik, skal systemet (og gør) tillade de filrelaterede operationer, der skal læses fra eller ændre disse datalager, der er uden for appens sandkasse.

Denne sandkassekatalog er organiseret i et sæt underkataloger. Apple specificerer, hvordan hver af disse underkataloger skal bruges, som følger:

  • << app navn >>. App-mappen er hvor appens eksekverbare og alle filer i bunden er hjemmehørende (f.eks. X og O-billederne til Tic-Tac-Toe). Dokumenter-mappen indeholder data, som din app ikke kan genskabe, f.eks. Brugergenererede dokumenter eller indhold. Dette er den mappe, hvor Tic-Tac-Toe app gemmer spil, holder sine SQLite filer, og så videre. iTunes sikkerhedskopierer denne mappe, så når du tilslutter enheden til din Mac, gemmes dataene her.

  • Indbakken i mappen Dokumenter har særlig betydning. Denne mappe gemmer filer, som

    andre
  • apps beder din app om at åbne. For eksempel placerer Mail-programmet e-mail-vedhæftede filer, der er knyttet til din app i denne mappe. Din app kan læse og slette filer i denne mappe, men kan ikke oprette nye filer eller skrive til eksisterende filer. Bibliotekskataloget bruges til filer, der ikke er brugerdatafiler, men skal sikkerhedskopieres. Med undtagelse af en underkatalog med navnet Caches (som er specifikt til data, vil appen midlertidigt gemme for hurtigere adgang), bliver filerne her sikkerhedskopieret af iTunes. Tmp-underkatalogen gemmer midlertidige data, der ikke behøver at fortsætte mellem app-kørsler. Din app skal fjerne filer fra denne mappe, når de ikke længere er nødvendige. Systemet kan også rense langvarige filer fra denne mappe, når din app ikke kører eller diskpladsen er lav. Indholdet af denne mappe er

  • ikke

  • sikkerhedskopieret. Se nu et hurtigt eksempel i Tic-Tac-Toe, der viser, hvordan man skriver til og læser fra filer. I dette eksempel skal du bruge en fil til at gemme og gendanne tilstanden af ​​et spil. Når en bruger rører Gem spil, gemmes den aktuelle tilstand af spillet i en fil med navnet SavedGames. data i mappen Dokumenter i appens sandkasse (stien til denne fil blev indstillet ved hjælp af #define som den konstante TTTGAMESESSIONSAVEDFILEPATH i filen TTTGameSessionViewController. h).

Hvis brugeren afslutter uden at afslutte spillet, kan hun vende tilbage til skærmens spilskærm og vende tilbage til det gemte spil ved at vælge Gendan spil.

Nu for nogle kode. Følgende kode viser saveGame:

- (IBAction) saveGame: (id) afsender {NSDictionary * savedGameDictionary = [activeGame toDictionary]; NSError * fejl; NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionary muligheder: NSJSONWritingPrettyPrinted error: & error]; NSString * savedGameString = [[NSString allokere] initWithData: jsonData-kodning: NSUTF8StringEncoding]; NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; [savedGameString writeToFile: savedGamesFilePath atomisk: JA kodning: NSUTF8StringEncoding error: NULL];}

At skrive til en fil er let. Du bygger bare filnavnet på filen ved hjælp af metoden stringByAppendingPathComponent på et objekt, der repræsenterer appens hjemmemappe (som du får ved at kalde funktionen NSHomeDirectory). Derefter gør [savedGameString writeToFile: savedGamesFilePath …] den egentlige skrivning.

Læsning fra en fil er ligeledes ligetil. Her er koden til restoreGame:

- (IBAction) restoreGame: (id) afsender {NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; NSString * savedGameString = [NSString stringWithContentsOfFile: savedGamesFilePath-kodning: NSUTF8StringEncoding error: NULL]; NSError * restoreError = nil; NSMutableDictionary * savedDictionary = [NSJSONSerialization JSONObjectWithData: [savedGameString dataUsingEncoding: NSUTF8StringEncoding] indstillinger: 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 set, hvordan en sti til filen oprettes ved hjælp af NSHomeDirectory-funktionen for at få hjemmekatalogobjektet, og derefter bruge dette objektets metode strengByAppendingPathComponent til at oprette strengen. Derefter læser du hele filen i en streng ved hjælp af [NSString stringWithContentsOfFile: savedGamesFilePath …], og så er du fri til at behandle strengen efter behov.


Sådan bruges filer til at gemme data til iOS-apps - dummies

Valg af editor

Konstruere et pressesæt - dummies

Konstruere et pressesæt - dummies

Et pressesæt er en samling af skriftlige materialer designet til at introducere en ekspert eller et selskab til medierne. Disse materialer er ofte indeholdt i en attraktiv mappe og ledsaget af et følgebrev. Målet med et pressesæt er tredobbelt: Fremhæv de problemer, som din ekspert kan adressere, eller at din virksomhed er ...

Indhold, der skal undgås i dine e-mail-marketingmeddelelser - dummies

Indhold, der skal undgås i dine e-mail-marketingmeddelelser - dummies

Dig kan levere mange forskellige slags indhold i dine marketing e-mails, men bare fordi du kan sende noget betyder ikke nødvendigvis, at du skal. Undgå at sende indhold, der gør dine e-mails påtrængende, ulæselige eller vanskelige at reagere på, herunder Overdreven tegnsætning: Dit publikum kan fejlfortolke følelserne bag meddelelser fyldt med symboler ...

Skabe et tilpasset udseende til din Yahoo! Gem med ikon knapper - dummies

Skabe et tilpasset udseende til din Yahoo! Gem med ikon knapper - dummies

Yahoo! Store giver dig nogle meget seje muligheder ved hjælp af ikon knapper for at få et brugerdefineret udseende til din butik uden at røre RTML. Først bygger du din butik med standard navigationsknapper og bruger derefter dette layout som grundlaget for et design ved hjælp af brugerdefinerede ikon knapper. Det er ligegyldigt, om du bruger top eller ...

Valg af editor

En alternativ tilgang til LSAT's læseproblemer - dummier

En alternativ tilgang til LSAT's læseproblemer - dummier

Nogle LSAT-testtagere finder ud af, at et alternativ tilgang til at læse spørgsmål sparer dem tid og hjælper dem med at fokusere på de relevante detaljer i hver læsepassage. Du kan måske prøve denne fremgangsmåde for at finde ud af, om det virker godt for dig. I stedet for at give en læsningspassage en gang igennem, inden du tager fat på spørgsmålene, ...

10 Vaner af højt succesfulde LSAT-takers - dummies

10 Vaner af højt succesfulde LSAT-takers - dummies

Nogle mennesker går bare naturligt godt på standardiserede tests . De flyver gennem ACT og SAT (dem du tager for at komme ind på college), ace GRE og GMAT (dem du tager for at komme ind på high school) og overveje LSAT nemt. Hvad gør dem så vellykkede til at tage test generelt og ...

Analytisk Reasoning LSAT Practice - dummies

Analytisk Reasoning LSAT Practice - dummies

LSAT indebærer et afsnit af spørgsmålstegn kaldet analytisk resonnement. Du vil helt sikkert drage fordel af nogle øvelser, når det kommer til disse spørgsmål. Tag et kig på følgende eksempler for at få en ide om, hvad du vil møde på testdagen. Analytiske begrundelse prøve spørgsmål En yoga studio tilbyder klasser i tre slags ...

Valg af editor

Udforsker reklametværk for bloggere - dummies

Udforsker reklametværk for bloggere - dummies

Selv om de fleste bloggere sætter op for at deltage i blogosfæren som en hobby, mange hurtigt indse, at sidevisninger ofte oversætter til dollars. Uanset om du vil inkludere reklame på dit websted simpelthen for at betale dine hosting regninger, eller hvis du vil omdanne din blog til en seriøs indkomstgenerator, er annoncenetværk et godt sted ...

Retfærdighed og ufrivillighed er kritisk i en online community manager - dummies

Retfærdighed og ufrivillighed er kritisk i en online community manager - dummies

Det er ikke altid nemt at forblive en neutral part som online community manager. Der vil være tidspunkter, når du er enig med en bestemt side i en opvarmet diskussion eller argument, og dine personlige overbevisninger kan skyde din upartiskhed. Du kan ikke lade det ske. Ligegyldigt hvor meget du vil hoppe i ...

Eksempler på affiliate marketing brugt succesfuldt til mor blogs - dummies

Eksempler på affiliate marketing brugt succesfuldt til mor blogs - dummies

Skriver autentiske, sandfærdige produktanmeldelser og anbefalinger er det vigtigste talent en blogging affiliate marketing kan have. Sig, du har en blog med god trafik, og du har en blog, hvor taler om produkter passer til dit indhold. Tiffany Washko har blogget siden 2005 og tjener hos affiliate ...