首页 > 解决方案 > 基于视图的 TableView:将弹出窗口的列初始化为相同的值并与它们交互(Xcode Storyboard)

问题描述

我有如下设置: 在此处输入图像描述

我想将每个弹出按钮(嵌套在表格单元格视图中)的值设置为相同的值范围,并以其他方式与它们交互。简而言之,我需要一个 IBOutlet。

理想的初始化代码:

let tableArray = [outlet1, outlet2, outlet3, outlet4, ...]
for i in 0...tableArray.count-1 {
    for v in 1...127 {
        tableArray[i].addItem(v)
    }
}

但是,当我尝试将他们的所有插座添加到视图控制器类(MIDI 通道设置)中时,我收到插座无效的错误。插座不能连接到重复的内容。

以下:Outlets 无法连接重复内容 iOSOutlets 无法连接重复内容Swift - Outlets 无法连接重复内容(除了基于 UIKit 而不是 AppKit)都建议相同的解决方案:创建一个唯一的子类对于每个单元格,并将每个单元格的出口初始化为该子类。

  1. 仅仅为一列中的单元格设置 16 个不同的子类是相当繁重的。
  2. 为了完成我在上面代码中所做的事情,没有办法将它们组装成一个数组。

我将如何与我创建的这一列弹出按钮进行交互?

标签: swiftxcodemacos

解决方案


据我所知,这只能以编程方式或通过 Cocoa 绑定实现。虽然听起来很复杂,但可以在此处找到以编程方式创建 TableViews 的良好而简单的概述:https ://www.appcoda.com/macos-programming-tableview/

它还解释了“子类化 tableviewcell”所有这些答案的含义。


推荐阅读