我想创建一个 UITableview。我找到了一个示例项目,但它适用于 Swift 3。我正在使用 Swift 5.x。我几乎可以删除所有错误,但剩下 1 个,我不知道如何解决它。这是代码
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate,NSTableViewDataSource,NSTableViewDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var myTableView: NSTableView!
var dataArray:[NSMutableDictionary] = [["firstName": "Debasis", "lastName": "Das", "fullTimeEmp": 0],
["firstName": "Nishant", "lastName": "Singh", "fullTimeEmp": 1],
["firstName": "John", "lastName": "Doe", "fullTimeEmp": 1],
["firstName": "Jane", "lastName": "Doe", "fullTimeEmp": 1],
["firstName": "Mary", "lastName": "Jane", "fullTimeEmp": 0]];
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
func numberOfRowsInTableView(aTableView: NSTableView!) -> Int
{
let numberOfRows:Int = dataArray.count
return numberOfRows
}
private func tableView(tableView: NSTableView!, objectValueForTableColumn tableColumn: NSTableColumn!, row: Int) -> AnyObject!
{
let object = dataArray[row] as NSMutableDictionary
if ((tableColumn.identifier).rawValue == "fullTimeEmp")
{
return object[tableColumn.identifier] as? Int? as AnyObject
}
else
{
return object[tableColumn.identifier] as? String? as AnyObject
}
}
private func tableView(tableView: NSTableView, setObjectValue object: AnyObject?, forTableColumn tableColumn: NSTableColumn?, row: Int)
{
dataArray[row].setObject(object!, forKey: (tableColumn?.identifier)!)
}
}
任何想法如何解决它?
