我正在尝试像这样保存 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
。我需要它来记住用户选择的打印机并记住它,即使应用程序退出后台也是如此。如果有人能提供帮助那就太好了!
你不能存储UIPrinter
实例在NSUserDefaults
。您可以做的是保存打印机的 URL,然后当您的应用程序再次启动并且您需要UIPrinter
, 读取 URLNSUserDefaults
并使用UIPrinter printerWithURL:
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)