Tôi có hai quy trình sau được xác định trong AppDelegate của tôi. saveSettings và loadSettings. Tôi đang gọi thủ tục loadSettings của tôi trong phương thức AppDidFinishLaunching, và tôi đang gọi thủ tục saveSettings trong khung nhìn cài đặt của tôi, một khi nút lưu được nhấn.iPhone SDK - cài đặt tải/lưu
Cả hai phương pháp dường như được gọi vào đúng thời điểm, đúng số lần (một lần) và sử dụng dữ liệu chính xác. đối tượng cài đặt của tôi nhận được dữ liệu phù hợp, nhưng dữ liệu dường như không thực sự tiết kiệm. Khi tôi chạy mã tải, các biến kết quả của tôi sẽ trở lại trống (không phải là nil).
Tôi đã thử đặt cùng một mã tải ở một chế độ xem khác và nó hoạt động tốt, nhưng vì một lý do nào đó, tôi không nhận được kết quả trong appDelegate của mình.
Mọi trợ giúp sẽ được đánh giá cao.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
[self loadSettings];
[self setDefaults];
}
-(void)loadSettings{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
settings.masterLocation = [prefs objectForKey:@"masterLocation"];
settings.masterPort = [prefs objectForKey:@"masterPort"];
settings.userName = [prefs objectForKey:@"userName"];
settings.passWord = [prefs objectForKey:@"passWord"];
settings.autoLogin=[prefs objectForKey:@"autoLogin"];
if (settings.autoLogin == nil)
[email protected]"N";
}
-(void)saveSettings:(SharedData *)d{
settings=d;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:settings.masterLocation forKey:@"masterLocation"];
[prefs setObject:settings.masterPort forKey:@"masterPort"];
[prefs setObject:settings.userName forKey:@"userName"];
[prefs setObject:settings.passWord forKey:@"passWord"];
[prefs setObject:settings.autoLogin forKey:@"autoLogin"];
}
Cảm ơn Tự Học Badge. – Dutchie432
Cảm ơn điều đó thực sự đã giúp! – Khattab
"đồng bộ hóa" thay vì "đồng bộ hóa" – Manni