这个问题在这里已有答案:
这是我的应用程序的工作流程:用户可以从应用程序的设置页面选择默认打印机,并将使用此默认打印机每次直接打印 without any print preview dialogue .
我们可以使用 UIPrinterPickerController
选择打印机:
let printerPicker = UIPrinterPickerController(initiallySelectedPrinter: nil)
printerPicker.present(from: CGRect(x: 0, y: 0, width: 600, height: 500), in: self, animated: true) { (printerPicker, userDidSelect, error) in
if userDidSelect {
//Here get the selected UIPrinter
let defaultPrinter = printerPicker.selectedPrinter
}
}
获取 UIPrinter
后,我们无法直接将 UIPrinter
对象保存到UserDefaults,这不是UserDefault支持类型 .
是否有任何其他选项可以将 UIPrinter
保存到UserDefaults或任何其他方式来保存默认打印机 .
1 回答
您可以按
NSKeyedArchiver
存储自定义对象 . 为了使其可编码,他们必须实现NSCoding协议 .但是您无法在
NSUserDefaults
中存储UIPrinter
实例 . 经过一些研究,我找到了this link . 哪个说: