我尝试使用knowsPageRange
功能设置NSView中的打印页数。如何正确设置范围:NSRangePointer?
override func knowsPageRange(_ range: NSRangePointer) -> Bool {
let printOperation = NSPrintOperation.current!
let printInfo: NSPrintInfo = printOperation.printInfo
// Where can I draw?
pageRect = printInfo.imageablePageBounds
let newFrame = NSRect(origin: CGPoint(), size: printInfo.paperSize)
frame = newFrame
// Construct the range to return
var rangeOut = NSRange(location: 0, length: 0)
// Pages are 1-based. That is, the first page is 1.
rangeOut.location = 1
rangeOut.length = 10 // Number of pages
// Return the newly constructed range, rangeOut, via the range pointer
range.memory = rangeOut // Cannot assign to property: 'range' is a 'let' constant
return true
}
答案 0 :(得分:2)
简单地改变:
range.memory = rangeOut
为:
range.pointee = rangeOut
使用pointee
来自Swift 3. memory
来自Swift 2。