0
我試圖在Swift應用中使用NSView
調用getRectsBeingDrawn(_:count:)
,但無法理解如何解開'返回'值 - 該方法的簽名特別神祕。我通過count
變量獲得預期的矩形數量,但我不知道如何訪問數組中的矩形。 This question解決了同樣的問題,並提出了一個解決方案,但它不適合我 - 我無法訪問NSRect
結構。使用getRectsBeingDrawn:與Swift
func decideWhatToRedraw() {
let r1 = CGRect(x: 0, y: 0, width: 10, height: 20)
let r2 = CGRect(x: 0, y: 100, width: 35, height: 15)
setNeedsDisplayInRect(r1)
setNeedsDisplayInRect(r2)
}
override func drawRect(dirtyRect: NSRect) {
var rects: UnsafeMutablePointer<UnsafePointer<NSRect>> = UnsafeMutablePointer<UnsafePointer<NSRect>>.alloc(1)
var count: Int = 0
getRectsBeingDrawn(rects, count: &count)
// count -> 2
// But how to get the rects?
}
王牌! - 謝謝。我會更新我提到的問題,指出這個更直接(和成功)的方法。 –
Swift 4:'init()不可用:使用nil literal' – adib