Làm cách nào để biết liệu NSUserDefaults
có chứa bất kỳ giá trị nào không?NSUserDefaults chứa giá trị hay không?
Trả lời
Không có cách nào để kiểm tra xem một đối tượng trong NSUserDefaults có trống hay không. Tuy nhiên, bạn có thể kiểm tra xem một giá trị cho khóa cụ thể có phải là không.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSObject * object = [prefs objectForKey:@"your_particular_key"];
if(object != nil){
//object is there
}
NSUserDefaults *data = [NSUserDefaults standardUserDefaults];
NSString *string = [data objectForKey:@"yourKey"];
if(string==nil)
NSlog(@"nil")
Hãy xem NSUserDefault documentation
// For saving the values
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
// saving an NSString
[userDefaults setObject:@"Ttest" forKey:@"key"];
// --- For Retrieving
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [userDefaults stringForKey:@"key"];
Bạn nên so sánh với số không, không NULL, như trạng thái @Krishnabhadra. –
@PhilippeSabourin cảm ơn bạn. NULL là một void *, nil là một id. –
Để kiểm tra xem một giá trị cụ thể được thiết lập hay không, bất kể vị trí của nó (toàn cầu hoặc ứng dụng của), kiểm tra giá trị trả về của -[NSUserDefaults objectForKey:]
id obj = [[NSUserDefaults standardUserDefaults] objectForKey:@"My-Key-Name"];
if (obj != nil) {...}
Để kiểm tra xem ứng dụng (gói) có bất kỳ cài đặt nào được lưu trữ trong cài đặt mặc định của người dùng hay không :
NSUserDefaults* sdu = [NSUserDefaults standardUserDefaults];
NSString* bundleId = [[NSBundle mainBundle] bundleIdentifier];
NSDictionary* mainBundleSettings = [sdu persistentDomainForName:bundleId];
NSLog(@"%@", mainBundleSettings);
Nếu bạn quan tâm đến tất cả các giá trị có thể mà -[NSUserDefaults objectForKey:]
sẽ trở lại một cái gì đó, bao gồm các thiết lập hệ thống toàn cầu, chỉ cần gọi
NSDictionary* allPossibleSettings = [sdu dictionaryRepresentation];
NSUserDefaults
là không bao giờ trống rỗng. Nó kết hợp cài đặt chung, cài đặt của gói, dữ liệu tạm thời và có thể là một thứ khác. Ví dụ, nếu bạn gọi:
[[NSUserDefaults standardUserDefaults] objectForKey:@"NSBoldSystemFont"]
bạn sẽ nhận được giá trị chuỗi @"LucidaGrande-Bold"
đó sẽ được lấy từ các thiết lập toàn cầu, ngay cả khi ứng dụng của bạn chưa bao giờ đặt giá trị này.
- 1. NSDictionary - Cần kiểm tra xem từ điển có chứa cặp khóa-giá trị hay không
- 2. Làm thế nào kiểm tra bitArray có chứa bất kỳ giá trị đúng hay sai?
- 3. Xóa NSUserDefaults
- 4. Kiểm tra giá trị nhập vào là số hay không
- 5. là giá trị l tạm thời hay không?
- 6. Không thể nhận được giá trị từ cookie trong Java. Giá trị chứa dấu phẩy.
- 7. Tìm giá trị trong cột A có chứa giá trị từ cột B không?
- 8. XPath chứa một trong nhiều giá trị
- 9. NSUserDefaults không tiết kiệm đúng cách
- 10. Lưu NSDictionary vào NSUserDefaults
- 11. NSUserDefaults. setValue hoạt động, Không setBool
- 12. Làm cách nào để xóa giá trị đã đăng ký trước đó qua [NSUserDefaults registerDefaults:] gọi
- 13. iOS NSUserDefaults Xem thay đổi giá trị cho một khóa đơn
- 14. Làm cách nào để xóa giá trị mặc định của người dùng trong NSUserDefaults?
- 15. Vùng chứa C++ nhanh nhất: Giá trị duy nhất
- 16. Không thể thiết lập NSUserDefaults lĩnh vực
- 17. Codeigniter, tăng giá trị cơ sở dữ liệu theo giá trị chứa trong biến
- 18. Truy vấn SQL để thêm giá trị của hai cột có chứa giá trị null?
- 19. Bạn có thấy giá trị của NSUserDefaults ở bất kỳ đâu trong trình gỡ lỗi xcode không?
- 20. Cách đăng ký mặc định người dùng bằng NSUserDefaults mà không ghi đè giá trị hiện tại?
- 21. Các khóa và giá trị của% INC có phụ thuộc vào nền tảng hay không?
- 22. NSUserDefaults đồng bộ hóa không lưu trên
- 23. Định dạng chuỗi Powershell có chứa các giá trị Hashtable
- 24. Bản đồ chứa chính nó như một giá trị;
- 25. jquery 'thuộc tính chứa' chọn với một giá trị động
- 26. Cách tìm khóa băm có chứa giá trị phù hợp
- 27. Trường nhập có chứa dấu nháy kép giá trị
- 28. System.Array có thực hiện quyền anh trên các loại giá trị hay không?
- 29. Cách kiểm tra xem giá trị kép có không có phần thập phân hay không
- 30. Cách kiểm tra NSString có chứa '%' hay không?
Cảm ơn nó hoạt động –
Giải pháp tuyệt vời ... :) – Adi