gpt4 book ai didi

xcode - 如何添加 TableView 数据源并委托(delegate)给单独的类/对象?

转载 作者:搜寻专家 更新时间:2023-10-31 19:31:30 25 4
gpt4 key购买 nike

我正在尝试学习如何使用 SWIFT 制作原生 MacOS X 应用程序。我目前没有使用 Objective-C 甚至 Xcode 的背景。

我实现了一个简单的应用程序,它响应一些按钮点击并修改一些标签。现在,我想把一些东西放在 table 上。我在我的 UI 上放了一个 NSTableView,我发现我必须实现一个类,它提供 NSTableViewDelegate 和 NSTableViewDataSource 协议(protocol)的实现。

我认为为了代码组织和可读性,将所有用于控制我的 TableView 的东西放在主 AppDelegate 的单独模块中会更清晰。不管怎样,到目前为止我看到的任何教程都只关注如何实现协议(protocol)并将它们全部放在 AppDelegate 类中。

我创建了一个新的 SWIFT 文件,并将以下临时代码放入其中:

import Foundation
import Cocoa


class LogTableController: NSObject, NSTableViewDelegate, NSTableViewDataSource {

@IBOutlet var tableView: NSTableView!
var logTableData:[NSDictionary] = []

func numberOfRowsInTableView (tableView: NSTableView!) -> Int {
return 0
}

func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn!, row rowIndex: Int) -> AnyObject! {
return "Hello"
}
}

但我无法找到如何继续在我的 TableView 和我的自定义类或该类的实例之间创建导出。在 InterfaceBuilder 中我无法执行此操作。

我想我遗漏了一些东西,任何关于如何组织我的代码而不是将所有东西都放在 AppDelegate 类中的答案将不胜感激。

谢谢!

最佳答案

在 Interface Builder 中,您需要将对象库中的对象添加到文档大纲中,然后将其类设置为您的自定义类。然后您可以将委托(delegate)和数据源连接到该对象。

关于xcode - 如何添加 TableView 数据源并委托(delegate)给单独的类/对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27178399/

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