NSUserDefaults
có thể được sử dụng cho những gì bạn đang yêu cầu.
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"shownPrompt"]) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"shownPrompt"];
// Show your prompt or whatever
}
Đó là đoạn mã hoạt động. Nếu khóa là sai, nó đặt nó thành true và hiển thị lời nhắc. Lần sau mã này chạy, khóa sẽ là true, vì vậy lời nhắc sẽ không được hiển thị.
NSUserDefaults
dành riêng cho ứng dụng hiện tại trên thiết bị hiện tại và tương tự như NSMutableDictionary
ở chỗ nó là hệ thống khóa-giá trị, với sự khác biệt thay vì khởi tạo riêng của bạn. , điều đó không bị xóa khi ứng dụng thoát.
NSUserDefaults
là hoàn hảo cho tiết kiệm những thứ như xem một cái gì đó đã được chứng minh, ngày chạy cuối cùng, vv Đọc các tài liệu ở đây: https://developer.apple.com/documentation/foundation/userdefaults
Đừng để bị trì hoãn bởi một phần của các sở thích người dùng. Bạn có thể sử dụng nó để tiết kiệm bất cứ điều gì bạn muốn (miễn là nó là hoặc có thể được chuyển đổi thành một NSObject
mà thực hiện <NSCoding>
, mà về cơ bản có nghĩa là NSString
, NSDictionary
, NSArray
, NSNumber
, UITextField
, int
, float
, bool
, vv).
Chỉ cần làm rõ, những thứ bạn đặt vào NSUserDefaults
sẽ không, trong mọi trường hợp, tự động bật lên trong ứng dụng Cài đặt. Nó sẽ được giữ hoàn toàn riêng tư và ẩn. Để một thứ gì đó xuất hiện trong Cài đặt, bạn cần phải thêm một nhóm Cài đặt vào ứng dụng của mình và thêm các khóa theo cách thủ công vào mỗi giá trị mà bạn muốn hiển thị trong ứng dụng Cài đặt.
iPhone là hệ điều hành một người dùng. Bạn không thể đăng nhập bằng tên người dùng khác. Vậy tại sao bạn cần cài đặt ứng dụng, khác với cài đặt người dùng? Hay tôi đang thiếu một cái gì đó? – bartvdpoel