Tag: Cocoa/テーブルビュー
class Document: NSDocument, NSTableViewDataSource { @IBOutlet weak var tableView: NSTableView! var employees:[Employee] = [] override init() { super.init() let employee1 = Employee() employee1.name = "従業員1" employee1.age = 18 let employee2 = Employee() employee2.name = "従業員2" employee2.age = 28 employees.append(employee1) employees.append(employee2) } // MARK: - NSTableViewDataSource func numberOfRows(in tableView: NSTableView) -> Int { return employees.count } func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { let employee = employees[row] var result:Any? = nil if tableColumn?.identifier == "name" { result = employee.name } else { result = String(employee.age) } return result } @IBAction func addClicked(_ sender: NSButton) { let newEmployee = Employee() employees.append(newEmployee) tableView.reloadData() } @IBAction func deleteClicked(_ sender: NSButton) { let index = tableView.selectedRow Swift.print("index=\(index)") if index >= 0 { employees.remove(at: index) } tableView.reloadData() }
class Document: NSDocument { var employees:[Employee] = [] override init() { super.init() // Add your subclass-specific initialization here. let employee1 = Employee() employee1.name = "従業員1" employee1.age = 18 let employee2 = Employee() employee2.name = "従業員2" employee2.age = 28 employees.append(employee1) employees.append(employee2) } override class func autosavesInPlace() -> Bool { return true } }
以下PENDING
[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle]; [tableColumn setResizingMask:NSTableColumnAutoresizingMask]; //AND [tableView sizeLastColumnToFit];