【发布时间】:2016-05-11 22:50:43
【问题描述】:
我正在尝试像这样保存 UIPrinter 对象。
-(IBAction)setPrinterInSettings:(id)sender{
UIPrinterPickerController *picker = [UIPrinterPickerController printerPickerControllerWithInitiallySelectedPrinter:self.SavedPrinter];
[picker presentFromRect:self.settingsButton.frame inView:self.view animated:YES completionHandler:^(UIPrinterPickerController *controller, BOOL userDidSelect, NSError *err) {
if (userDidSelect) {
self.SavedPrinter = controller.selectedPrinter;
NSLog(@"self.SavedPrinter == %@",self.SavedPrinter);
[self saveCustomObject:self.SavedPrinter key:@"SavedPrinter"];
[[NSUserDefaults standardUserDefaults] setObject:self.SavedPrinter forKey:@"SavedPrinter"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}];
}
当我尝试保存在[[NSUserDefaults standardUserDefaults] setObject:self.SavedPrinter forKey:@"SavedPrinter"]; 时它崩溃了,我收到此消息作为错误-[UIPrinter encodeWithCoder:]: unrecognized selector sent to instance 0x7fb204062760。我需要它来记住用户选择的打印机并记住它,即使应用程序退出后台也是如此。如果有人可以提供帮助,那就太好了!
【问题讨论】:
-
你之前问过这个吗?无论如何,就像在上一个问题中一样,您需要使用有关崩溃的详细信息来更新此问题。错误信息是什么?
-
另外,请阅读
NSUserDefaults文档的前几段。它告诉你有什么要求。UIPrinter不符合这些要求。 -
@rmaddy 是的,我确实重做并删除了我的第一个问题,并且我确实查看了文档,我知道您无法使用 NSUserDefaults 保存 UIPrinters。这就是我寻求帮助的原因
标签: ios objective-c printing nsuserdefaults