0
我試圖將數組的內容傳遞給NSView以顯示矩形x位置。 我已經設置了一個使用隨機數字和按鈕的版本,並將代碼減少到了最小,所以希望它更具可讀性。我曾嘗試將數組創建爲全局變量。我也嘗試從這個答案中反轉代碼。 Pass data between view controllers。我已插入評論:「這就是我想實現的」,它解釋了我想要達到的目標。 我希望有人可以幫忙嗎?感謝將變量傳遞給NSView
斯威夫特3的Xcode 8.1 OSX的Mac OS不是iOS的
//
// MainWindowController.swift
import Cocoa
class MainWindowController: NSWindowController {
@IBOutlet weak var myView: NSView!
var myArray = [Int]()
override func windowDidLoad() {
super.windowDidLoad()
//just for testing
for i in 0..<6{
myArray.append(i*10)
}
}//EO Overide
//just for testing
@IBAction func myButton(_ sender: AnyObject) {
myFunc()
}
func myFunc(){
for i in 0..<6{
let diceRoll = Int(arc4random_uniform(6) + 1)
myArray[i]=diceRoll * 10
}
myView.needsDisplay = true
}//EO myFunc
}//EnD oF thE wORld
class myGUI: NSView {
override func draw(_ dirtyRect: NSRect) {
for i in..<6{
let fromArray = myArray[i]
let box1 = NSMakeRect(CGFloat(fromArray),0,4,60)//This is what i want to do
let box1Color = NSColor(red: 0.4, green: 0.4, blue: 0.4, alpha: 1.0)
let box1Path: NSBezierPath = NSBezierPath(rect: box1)
box1Color.set()
box1Path.fill()
}//EO For
}}
我注意到類名和醜陋的循環我從來不知道循環樣式存在(自學)我得到的錯誤。 「類型'NSView'的值沒有成員'數組''謝謝 – oldman
在Interface Builder中,你必須將自定義視圖的類設置爲'myGUI' – vadian
我已經將視圖的類設置爲myGUI,但仍然沒有運氣 – oldman