Trang Chủ Xã hội Truyền thông Cách sử dụng tệp để lưu dữ liệu cho ứng dụng iOS - kỷ vật

Cách sử dụng tệp để lưu dữ liệu cho ứng dụng iOS - kỷ vật

Video: Hướng dẫn sao lưu mọi dữ liệu trên thiết bị iOS của bạn | Điện Thoại Vui 2025

Video: Hướng dẫn sao lưu mọi dữ liệu trên thiết bị iOS của bạn | Điện Thoại Vui 2025
Anonim

Trong các ứng dụng iOS, các tệp được sử dụng làm phương tiện để lưu trữ và khôi phục trạng thái của một trò chơi đang hoạt động. Nếu bạn đã thực hiện bất kỳ chương trình bằng ngôn ngữ bất kỳ (C, C ++, Java, C #, bạn đặt tên nó), bạn đã sử dụng các tệp để đọc dữ liệu và ghi dữ liệu vào. Mục tiêu-C cho phép bạn làm việc với các tệp cũng như các tệp trong iOS được tổ chức thành thư mục.

Mỗi ứng dụng có thư mục riêng của nó nơi ứng dụng cư trú và dữ liệu của nó có thể được lưu trữ. Thư mục này được gọi là sandbox của ứng dụng.

Một ứng dụng bị cấm truy cập hoặc tạo các tệp bên ngoài vùng cát của nó. Khi một ứng dụng cần làm việc với các liên hệ hoặc âm nhạc của người dùng, hệ thống cần (và) cho phép hoạt động liên quan đến tập tin cần thiết để đọc hoặc sửa đổi các kho lưu trữ dữ liệu này, nằm ngoài hộp cát của ứng dụng.

Thư mục sandbox này được tổ chức trong một tập hợp các thư mục con. Apple xác định cách sử dụng từng thư mục con như sau:

  • Tên ứng dụng << >>. thư mục ứng dụng là nơi tệp thi hành của ứng dụng và tất cả các tệp trong bó của tệp tin đó cư trú (chẳng hạn như hình ảnh X và O cho Tic-Tac-Toe). Thư mục Documents chứa dữ liệu mà ứng dụng của bạn không thể tạo lại, chẳng hạn như tài liệu do người dùng tạo hoặc nội dung. Đây là thư mục nơi ứng dụng Tic-Tac-Toe lưu trò chơi, giữ các tệp SQLite của nó, v.v … iTunes sao lưu thư mục này, vì vậy khi bạn kết nối thiết bị với máy Mac, dữ liệu ở đây sẽ được lưu lại.

  • Thư mục Hộp thư đến trong thư mục Documents có ý nghĩa đặc biệt. Thư mục này lưu các tệp tin mà

    khác
  • ứng dụng yêu cầu ứng dụng của bạn mở. Ví dụ: chương trình Thư đặt các e-mail đính kèm liên quan đến ứng dụng của bạn trong thư mục này. Ứng dụng của bạn có thể đọc và xóa các tệp trong thư mục này nhưng không thể tạo các tệp mới hoặc ghi vào các tệp hiện có. Thư mục Thư viện được sử dụng cho các tệp không phải là tệp dữ liệu người dùng nhưng cần được sao lưu. Ngoại trừ thư mục con có tên Caches (được dành riêng cho dữ liệu mà ứng dụng tạm thời muốn tiết kiệm để truy cập nhanh hơn), các tệp tin ở đây được iTunes hỗ trợ. Thư mục con tmp lưu dữ liệu tạm thời mà không cần phải tồn tại giữa chạy ứng dụng. Ứng dụng của bạn nên xóa các tệp khỏi thư mục này khi chúng không cần nữa. Hệ thống cũng có thể tẩy các tệp tin kéo dài từ thư mục này khi ứng dụng của bạn không chạy hoặc dung lượng đĩa thấp. Nội dung của thư mục này là

  • không được sao lưu.

  • Bây giờ, hãy xem ví dụ nhanh về Tic-Tac-Toe cho thấy cách viết và đọc từ các tệp tin. Trong ví dụ này, sử dụng tệp để lưu và khôi phục trạng thái của trò chơi. Khi người dùng chạm vào Lưu Trò chơi, trạng thái hiện tại của trò chơi được lưu vào một tệp tên là SavedGames. dữ liệu trong thư mục Documents trong sandbox của ứng dụng (đường dẫn đến tập tin này đã được thiết lập bằng cách sử dụng #define như TTTGAMESESSIONSAVEDFILEPATH không đổi trong tập tin TTTGameSessionViewController h). Nếu người dùng thoát nếu không hoàn thành trò chơi, cô ấy có thể trở lại màn hình phiên trò chơi và trở lại trò chơi đã lưu bằng cách chọn Phục hồi Trò chơi.

Bây giờ đối với một số mã. Đoạn mã sau cho thấy saveGame:

- (IBAction) saveGame: (id) sender {NSDictionary * savedGameDictionary = [activeGame toDictionary]; Lỗi NSError *; NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionary options: NSJSONWritingPrettySản xuất lỗi: & lỗi]; NSString * savedGameString = [[NSString alloc] initWithData: mã hóa jsonData: NSUTF8StringEncoding]; NSString * savedGamesFilePath = [NSHomeDirectory () chuỗiByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; [savedGameString writeToFile: savedGamesFilePath atomically: mã hoá YES: NSUTF8StringEncoding error: NULL];}

Viết vào một tệp tin thật dễ dàng. Bạn chỉ cần xây dựng đường dẫn của tập tin bằng cách sử dụng phương pháp stringByAppendingPathComponent trên một đối tượng đại diện cho thư mục chính của ứng dụng (mà bạn nhận được bằng cách gọi hàm NSHomeDirectory). Sau đó [savedGameString writeToFile: savedGamesFilePath …] thực hiện các bài viết thực tế.

Việc đọc từ một tệp cũng rất đơn giản. Đây là mã cho restoreGame:

- (IBAction) restoreGame: (id) sender {NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; NSString * savedGameString = [NSString stringWithContentsOfFile: savedGamesFilePath mã hóa: NSUTF8StringEncoding lỗi: NULL]; NSError * restoreError = không; NSMutableDictionary * savedDictionary = [NSJSONSerialization JSONObjectWithData: [savedGameString dataUsingEncoding: NSUTF8StringEncoding] tùy chọn: NSJSONReadingMutableContainers lỗi: & restoreError]; activeGame = [[TTTGame alloc] initFromDictionary: savedDictionary]; TTTGameGrid * gameGrid = [activeGame getGameGrid]; nếu (! [activeGame isActive]) [boardView disableInput]; [boardView setGrid: gameGrid]; [gameView redraw];}

Bạn đã nhìn thấy đường dẫn đến tệp được tạo ra bằng cách sử dụng hàm NSHomeDirectory để lấy đối tượng thư mục chính và sau đó sử dụng phương thức này của phương thức stringByAppendingPathComponent để tạo chuỗi. Tiếp theo, bạn đọc toàn bộ tệp tin vào một chuỗi bằng cách sử dụng [NSString stringWithContentsOfFile: savedGamesFilePath …], và sau đó bạn có thể tự do xử lý chuỗi nếu cần.

Cách sử dụng tệp để lưu dữ liệu cho ứng dụng iOS - kỷ vật

Lựa chọn của người biên tập

Bạn nên biết gì về ngày chia cổ tức cho kỳ thi loại 7 - núm vú

Bạn nên biết gì về ngày chia cổ tức cho kỳ thi loại 7 - núm vú

Khi khách hàng đang mua chứng khoán của một công ty đang trong quá trình tuyên bố hoặc trả cổ tức, bạn cần phải có khả năng nói cho khách hàng biết họ có quyền nhận cổ tức hay không. Do giao dịch chứng khoán giải quyết trong ba ngày làm việc, khách hàng được hưởng cổ tức nếu mua chứng khoán tại <

Giải toán Các vấn đề về Từ Toán trên ACT - núm vú

Giải toán Các vấn đề về Từ Toán trên ACT - núm vú

Một vấn đề về chữ (còn gọi là vấn đề về câu chuyện vấn đề trong một thiết lập) cung cấp cho bạn thông tin bằng các từ chứ không chỉ trong phương trình và số. Để trả lời một vấn đề từ toán học trên ACT, bạn phải dịch các thông tin được cung cấp thành một hoặc nhiều phương trình và sau đó giải quyết. Bạn có thể giải quyết một số từ ...

Giải quyết sự tương đồng Tough MAT bằng cách xem xét các phần của bài phát biểu - những núm vú

Giải quyết sự tương đồng Tough MAT bằng cách xem xét các phần của bài phát biểu - những núm vú

Giải thích sự tương tự trên Miller Analogies Test (MAT) là khó khăn, nhưng nếu bạn có một kế hoạch, nó có thể giúp đỡ. Một phương pháp tấn công một phép so sánh phức tạp của MAT là kiểm tra các phần của bài phát biểu cho mỗi thuật ngữ. Bằng cách hiểu biết các phần của bài phát biểu liên quan, bạn có thể làm sáng tỏ một sự tương tự gây nhầm lẫn. ...

Lựa chọn của người biên tập

Thiết kế một Ảnh Cắt dán cho Blog của bạn với PicMonkey - những hình núm vú

Thiết kế một Ảnh Cắt dán cho Blog của bạn với PicMonkey - những hình núm vú

Trên blog, ảnh cắt dán cho phép bạn trình bày nhiều hình ảnh hơn trong một không gian nhỏ hơn so với khi bạn chèn những bức ảnh này vào bài đăng trên blog. Ảnh ghép ảnh cũng có thể làm cho nhìn vào nhiều hình ảnh hấp dẫn hơn, cho dù đó là trong bài viết blog của bạn hoặc ở nơi nào khác trong thiết kế blog của bạn.

Thiết kế một Trang Quảng cáo hiệu quả cho Blog của bạn - những con cần

Thiết kế một Trang Quảng cáo hiệu quả cho Blog của bạn - những con cần

Nếu bạn muốn kiếm tiền từ blog của bạn thông qua quảng cáo hoặc làm việc với các công ty, sau đó có một trang quảng cáo như một phần của thiết kế blog của bạn là phải. Nếu blog của bạn không có trang Quảng cáo, đại diện công ty sẽ không biết bạn có tiềm năng quan tâm đến việc làm việc với họ trong các dự án chung. Tất nhiên, ...

Thiết kế Blog của bạn Yourself - núm vú

Thiết kế Blog của bạn Yourself - núm vú

Nếu bạn có một niềm đam mê để học những điều mới và không nhớ thử nghiệm, hãy thử tự thiết kế blog của bạn. Tất nhiên, lập luận của bạn có thể ít mạo hiểm hơn - nói rằng, bạn có thể không có tiền để thanh toán cho ai đó để thiết kế blog của bạn. Bất kể lý do, việc thiết kế blog của riêng bạn có thể được khen thưởng! ...

Lựa chọn của người biên tập

Làm thế nào để Căn chỉnh Excel 2010 dữ liệu theo chiều ngang và chiều dọc - núm vú

Làm thế nào để Căn chỉnh Excel 2010 dữ liệu theo chiều ngang và chiều dọc - núm vú

Trong Excel 2010, bạn có thể thay đổi sắp xếp ngang và dọc của dữ liệu ô. Theo mặc định, văn bản được căn lề trái, và giá trị và ngày được canh phải. Sử dụng các nút trong nhóm Alignment của tab Trang chủ để thay đổi sắp xếp. Các giá trị được định dạng dưới dạng Kế toán chỉ có thể hiển thị là liên kết phải. Bạn có thể thay đổi sắp xếp tất cả ...

Làm thế nào để Căn chỉnh nhiều đối tượng đồ họa trong Excel 2010 - núm vú

Làm thế nào để Căn chỉnh nhiều đối tượng đồ họa trong Excel 2010 - núm vú

Khi bạn làm việc với nhiều đối tượng hoặc hình dạng trong Excel 2010, bạn có thể cần căn chỉnh các đối tượng theo những cách nhất định để cải thiện sự xuất hiện của họ trong bảng tính. Excel cung cấp một số tuỳ chọn căn chỉnh thông qua menu Align trên tab Định dạng Công cụ Vẽ. Thực hiện theo các bước sau để căn chỉnh các đối tượng đồ họa trong một bảng tính: Chọn <...

Cách áp dụng một kiểu bảng cho một bảng Excel 2010 - núm vú

Cách áp dụng một kiểu bảng cho một bảng Excel 2010 - núm vú

Trong Excel 2010, bạn có thể áp dụng một định dạng bảng được xác định trước cho một phạm vi ô. Tính năng Định dạng Bảng làm hiển thị một bộ sưu tập Thư viện mở rộng với định dạng hình thu nhỏ được chia thành ba phần - Ánh sáng, Trung bình và Đậm - mỗi màu đều mô tả cường độ màu được sử dụng theo các định dạng khác nhau.