[英]Printing in iOS from Swift in XCode 6 beta 7
這是我用於測試版6的Swift airprinting的代碼,它運行良好:
@IBAction func button3Tapped() {
var pic:UIPrintInteractionController = .sharedPrintController()
var viewpf:UIViewPrintFormatter = myTextView.viewPrintFormatter()
pic.delegate = self
pic.showsPageRange = true
pic.printFormatter = viewpf
if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
pic.presentFromRect(self.myButton3.frame, inView:self.view, animated:true, completionHandler: nil)
} else {
pic.presentAnimated(true, completionHandler: nil)
}
}
當然,beta 7打破了它的“可選類型的值'UIPrintInteractionController'沒有打開;你的意思是使用!還是??” 在第一個變量線上。 不幸的是,XCode建議修復無法修復它,而且我不夠聰明,不能自己搞清楚!
Xcode 6 beta 7審核了Cocoa Touch API的大部分內容,以了解它如何公開可選值 - 也就是那些可能為零的值。 看起來共享打印控制器就是這樣一個值。 打開UIPrintInteractionController的Swift版本的標題,我看到:
class func sharedPrintController() -> UIPrintInteractionController?
具有尾隨問號的類型 - UIPrintInteractionController?
- 表示sharedPrintController()
的返回值可以是UIPrintInteractionController的實例,也可以是nil。
如果您確信在調用該方法的情況下,它將始終返回非零值,您可以立即強制將此可選值“解包”到UIPrintInteractionController的實例中:
var pic = UIPrintInteractionController.sharedPrintController()!
// the rest of your code
另一方面,如果您認為您可能從該方法中獲得nil,則可以使用Swift的可選綁定語法來檢查該情況並僅在非零時繼續使用pic
:
if let pic = UIPrintInteractionController.sharedPrintController() {
// the rest of your code
}
無論哪種方式,Xcode都告訴您現在需要處理共享打印控制器作為beta 7中的可選值公開的事實。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.