gpt4 book ai didi

macos - 示例 TableView 不打印数组 Swift OSX

转载 作者:可可西里 更新时间:2023-11-01 01:39:41 25 4
gpt4 key购买 nike

我的应用程序中有下一个代码,但只打印下一个图像,我不知道为什么。有人可以帮助我解决这个错误。我认为错误在字典中。

window without text

import Cocoa

class ViewController: NSViewController {

@IBOutlet weak var viewTable: NSTableView!

func getDataArray () -> NSArray{
var dataArray:[NSDictionary] = [["FirstName": "Debasis", "LastName": "Das"],
["FirstName": "Nishant", "LastName": "Singh"],
["FirstName": "John", "LastName": "Doe"],
["FirstName": "Jane", "LastName": "Doe"],
["FirstName": "Mary", "LastName": "Jane"]];
return dataArray;
}

func numberOfRowsInTableView(aTableView: NSTableView!) -> Int
{
let numberOfRows:Int = getDataArray().count
return numberOfRows
}

func tableView(tableView: NSTableView!, objectValueForTableColumn tableColumn: NSTableColumn!, row: Int) -> AnyObject!
{
var newString: (AnyObject?) = getDataArray().objectAtIndex(row).objectForKey(tableColumn.identifier)
println(newString)
return newString;
}

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
}

override var representedObject: AnyObject? {
didSet {
}
}


}

也许这很愚蠢,但知道怎么做是件好事,我希望它会有用。最后我的代码可以运行,他唯一需要的是设置为数据源。

DatasourceViewController

最佳答案

您是否为 Storyboard中的单元格设置了标识符?如果是这样,那么只需获取该行并使用标识符即可获取“FirstName”或“LastName”,然后返回

func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject?
{
var columnIdentifier = tableColumn!.identifier
var newString: (AnyObject?)
newString = getDataArray().objectAtIndex(row).valueForKey(columnIdentifier)
println(newString)
return newString
}

如果您对如何使用基于单元格的 tableView 有进一步的疑问:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/TableView/PopulatingCellTables/PopulatingCellTables.html

编辑:您应该将 tableView 设置为基于单元格。而且我认为您忘记将 ViewController 设置为数据源并删除 Storyboard 中的 TableView

关于macos - 示例 TableView 不打印数组 Swift OSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31145156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com