Rumah Media Sosial Cara menggunakan fail untuk menyimpan data untuk aplikasi iOS - dummies

Cara menggunakan fail untuk menyimpan data untuk aplikasi iOS - dummies

Video: Cara akses local storage di Files app buat iPhone dan iPad 2025

Video: Cara akses local storage di Files app buat iPhone dan iPad 2025
Anonim

Dalam aplikasi iOS, fail digunakan sebagai cara untuk menyimpan dan memulihkan keadaan permainan aktif. Jika anda telah melakukan sebarang pengaturcaraan dalam sebarang bahasa (C, C ++, Java, C #, anda namakannya), anda telah menggunakan fail untuk membaca data dan menulis data. Objektif-C membolehkan anda untuk bekerja dengan fail-fail jugaFiles dalam iOS disusun ke dalam direktori.

Setiap aplikasi mendapat direktori tersendiri di mana aplikasi berada dan datanya boleh disimpan. Direktori ini dikenali sebagai kotak pasir aplikasinya.

Aplikasi adalah dilarang daripada mengakses atau membuat fail di luar kotak pasirnya. Apabila aplikasi perlu berfungsi dengan kenalan atau muzik pengguna, sistem perlu (dan tidak) membenarkan operasi berkaitan fail diperlukan untuk membaca atau mengubah suai stor data ini, yang berada di luar kotak pasir aplikasi.

Direktori kotak pasir ini diatur dalam satu set subdirektori. Apple menentukan bagaimana setiap subdirektori ini harus digunakan, seperti berikut:

  • The << nama apl >>. direktori apl adalah di mana aplikasinya boleh dilaksanakan dan semua fail dalam bungkusannya tinggal (seperti imej X dan O untuk Tic-Tac-Toe). Direktori Dokumen memegang data yang aplikasi anda tidak boleh dibuat semula, seperti dokumen atau kandungan yang dihasilkan oleh pengguna. Ini adalah direktori di mana aplikasi Tic-Tac-Toe menyelamatkan permainan, menyimpan fail SQLite, dan sebagainya. iTunes menyokong direktori ini, jadi apabila anda menyambungkan peranti anda ke Mac anda, data di sini akan disimpan.

  • Direktori Peti masuk dalam direktori Dokumen mempunyai makna yang istimewa. Direktori ini menyimpan fail yang apl

    lain
  • meminta aplikasi anda untuk dibuka. Sebagai contoh, program Mel menempatkan lampiran e-mel yang dikaitkan dengan aplikasi anda dalam direktori ini. Aplikasi anda boleh membaca dan memadam fail dalam direktori ini tetapi tidak boleh membuat fail baru atau menulis ke fail sedia ada. Direktori Perpustakaan digunakan untuk fail yang bukan fail data pengguna tetapi perlu disandarkan. Dengan pengecualian subdirektori bernama Caches (yang khusus untuk data aplikasi yang ingin disimpan untuk sementara waktu), fail di sini disandarkan oleh iTunes. Subdirektori tmp menjimatkan data sementara yang tidak perlu berterusan di antara aplikasi berjalan. Aplikasi anda harus mengeluarkan fail dari direktori ini apabila ia tidak lagi diperlukan. Sistem ini juga boleh membersihkan fail berlarutan dari direktori ini apabila apl anda tidak berjalan atau ruang cakera rendah. Kandungan direktori ini

  • tidak

  • disandarkan. Sekarang, lihat contoh cepat dalam Tic-Tac-Toe yang menunjukkan cara menulis dan membaca dari fail. Dalam contoh ini, gunakan fail untuk menyimpan dan memulihkan keadaan permainan. Apabila pengguna menyentuh Simpan Permainan, keadaan semasa permainan disimpan ke fail bernama SavedGames. data dalam direktori Dokumen dalam kotak pasir aplikasi (laluan ke fail ini telah ditetapkan menggunakan #define sebagai TTTGAMESESSIONSAVEDFILEPATH yang tetap dalam fail TTTGameSessionViewController h).

Jika pengguna keluar tanpa menyelesaikan permainan, dia boleh kembali ke skrin sesi permainan dan kembali ke permainan yang disimpan dengan memilih Game Restore.

Sekarang untuk beberapa kod. Kod berikut menunjukkan saveGame:

- (IBAction) saveGame: (id) pengirim {NSDictionary * savedGameDictionary = [activeGame toDictionary]; Ralat NSError *; NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionary options: NSJSONWritingPrettyPrinted error: & error]; NSString * savedGameString = [[NSString alloc] initWithData: encoding jsonData: NSUTF8StringEncoding]; NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; [savedGameString writeToFile: savedGamesFilePath atom: encoding YES: NSUTF8StringEncoding error: NULL];}

Writing to a file is easy. Anda hanya membina nama laluan fail menggunakan kaedah stringByAppendingPathComponent pada objek yang mewakili direktori rumah aplikasinya (yang anda dapat dengan memanggil fungsi NSHomeDirectory). Kemudian [savedGameString writeToFile: savedGamesFilePath …] apakah tulisan sebenar.

Membaca dari fail juga mudah. Berikut ialah kod untuk memulihkanGame:

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

Anda telah melihat bagaimana laluan ke fail dibuat menggunakan fungsi NSHomeDirectory untuk mendapatkan objek direktori rumah, dan kemudian menggunakan kaedah objek ini stringByAppendingPathComponent untuk membuat rentetan. Seterusnya, anda membaca keseluruhan fail ke dalam rentetan menggunakan [NSString stringWithContentsOfFile: savedGamesFilePath …], dan kemudian anda bebas untuk memproses rentetan seperti yang diperlukan.


Cara menggunakan fail untuk menyimpan data untuk aplikasi iOS - dummies

Pilihan Editor

Cara Tambah Gambar dalam OneNote 2013 pada Android - dummies

Cara Tambah Gambar dalam OneNote 2013 pada Android - dummies

OneNote membolehkan anda tambah gambar sedia ada pada nota anda atau snap imej untuk nota selagi Android mempunyai kamera - seperti kebanyakan peranti lakukan. Anda mempunyai dua pilihan apabila menambah gambar pada nota: Ambil gambar: Apabila anda di mana-mana kecuali dalam nota sebenar, anda melihat ...

Cara Konfigurasi Pengaturan OneNote untuk Peranti iOS - dummies

Cara Konfigurasi Pengaturan OneNote untuk Peranti iOS - dummies

OneNote untuk iOS tidak mempunyai banyak tetapan anda sebenarnya boleh berubah. Ketik butang Tetapan di bahagian atas skrin Laman Utama untuk memanggil tetingkap Tetapan dengan cepat. Lihat tetapan dalam apl untuk iOS Senarai berikut secara ringkas menerangkan item dalam tetingkap ini: Naik taraf: OneNote untuk iOS membolehkan anda mempunyai sehingga ...

10 Sumber dan Add-Ins untuk OneNote 2013 - dummies

10 Sumber dan Add-Ins untuk OneNote 2013 - dummies

OneNote bukanlah aplikasi yang paling popular sehingga baru-baru ini, mempunyai lebih banyak kultus berikut daripada dikenali sebagai aplikasi go-to. Sumber untuk OneNote 2013 tidak banyak pada masa ini, dan beberapa daripada mereka yang wujud - bahkan mereka dari Microsoft - tidak selalu dikemas kini seberapa kerap yang anda harap. Namun, terdapat ...

Pilihan Editor

Improvisasi Navigasi di Gurun - patung

Improvisasi Navigasi di Gurun - patung

Menggunakan matahari, bintang, dan kepintaran kecil dapat membantu anda mencari cara di padang gurun dan mudah dilakukan lebih kerap daripada tidak. Ingat, orang telah menggunakan langit untuk menavigasi ribuan tahun. Teknik-teknik berikut boleh digunakan di mana-mana sahaja di Bumi dan kadang-kadang sangat tepat, tetapi ...

Petua untuk khemah perkhemahan - kelahiran

Petua untuk khemah perkhemahan - kelahiran

Perkhemahan adalah cara yang luar biasa untuk meluangkan masa di luar rumah yang hebat. Tetapi jika anda berkhemah khemah, anda tidak mahu mengalu-alukan terlalu banyak dari luar rumah yang hebat ke dalam khemah anda. Pelancongan bahagia memerhati peraturan yang mudah, seperti yang terdapat dalam senarai berikut, untuk menjaga tantangan yang rapi dan selamat: Untuk menjaga dalaman bersih (atau ...

Pilihan Editor

Kanser buah pinggang dan Kencing Kencing untuk Ujian Pembantu Doktor

Kanser buah pinggang dan Kencing Kencing untuk Ujian Pembantu Doktor

Dua syarat yang anda tidak mahu untuk melangkau untuk Ujian Pembantu Doktor adalah kanser buah pinggang dan kanser pundi kencing. Anda perlu agresif dalam penyiasatan anda tentang keganasan yang mungkin kerana, banyak kali, ia membuktikan secara tidak sengaja. Karsinoma sel renal (RCC) Apabila anda berfikir tentang kanser ginjal, jenis sel histologi yang paling biasa anda lihat adalah ...

Bagaimana Menangani Komplikasi Kehamilan untuk Ujian Pembantu Doktor - patmum

Bagaimana Menangani Komplikasi Kehamilan untuk Ujian Pembantu Doktor - patmum

Apabila kehamilan berjalan normal tanpa sebarang komplikasi. Oleh kerana Peperiksaan Penolong Doktor akan meliputi, malangnya, komplikasi boleh dan berlaku pada kehamilan. Anda harus akrab dengan beberapa keadaan ini, daripada hipertensi yang tidak terkawal untuk gangguan pendarahan yang muncul. Kehamilan ektopik Kehamilan ektopik adalah kehamilan di luar rahim. Yang paling ...

Asas untuk Ujian Pembantu Doktor

Asas untuk Ujian Pembantu Doktor

Anda tahu bahawa tekanan darah yang tidak normal adalah komponen dari banyak keadaan penyakit yang akan diliputi pada Peperiksaan Pembantu Doktor. Hipertensi adalah istilah untuk tekanan darah tinggi, dan ia adalah wabak di Amerika Syarikat. Tekanan darah berguna untuk menilai kesihatan. Itulah sebabnya bersama-sama dengan suhu, denyutan jantung, dan pernafasan ...