【问题标题】:Saving UIPrinter to NSUserDefaults将 UIPrinter 保存到 NSUserDefaults
【发布时间】: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


【解决方案1】:

您不能将UIPrinter 实例存储在NSUserDefaults 中。您可以做的是保存打印机的 URL,然后当您的应用再次启动并且您需要 UIPrinter 时,从 NSUserDefaults 读取 URL 并使用 UIPrinter printerWithURL:

【讨论】:

    【解决方案2】:

    您应该使用url 属性将NSUserDefaultssetURL:forKey: 一起保存。

    类似这样的:

    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];     
    [defaults setURL:[self.SavedPrinter url] forKey:@"printer.url"];
    [defaults synchronize];
    

    当您再次需要同一台打印机时,使用您存储的 url 创建另一个 UIPrinterprinterWithURL:

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      相关资源
      最近更新 更多