Как установить диапазон: NSRangePointer в NSView знает PageRange в Swift?
Я пытаюсь установить количество напечатанных страниц в NSView, используя knowsPageRange
функция. Как правильно установить диапазон: 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
}
1 ответ
Решение
Просто измените:
range.memory = rangeOut
чтобы:
range.pointee = rangeOut
Использование pointee
это от Swift 3. memory
это от Swift 2.