gpt4 book ai didi

ios - WKInterfaceTable 不创建行

转载 作者:行者123 更新时间:2023-11-28 08:27:59 25 4
gpt4 key购买 nike

我正在尝试使用表格构建一个简单的 WatchKit 应用程序。每行都有一个标签。这是我的 TableRowController 类:

import WatchKit

class TaskTableRowController: NSObject {

@IBOutlet var taskName: WKInterfaceLabel!
}

在我的 InterfaceController 中,我向表中添加一行并尝试设置标签的文本。但是 taskList.rowController(at: 0) 没有找到一行,所以 Label 没有被修改。

import WatchKit
import Foundation

class InterfaceController: WKInterfaceController {

@IBOutlet var taskList: WKInterfaceTable!

override func awake(withContext context: Any?) {
super.awake(withContext: context)

// Configure interface objects here.
taskList.setNumberOfRows(1, withRowType: "TaskRow")
if let x = taskList.rowController(at: 0) as? TaskTableRowController
{
x.taskName.setText("Hello World")
}
}

override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}

override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}

}

这是 Interface Builder 的一些屏幕和输出: Interface Builder Watch Simulator

最佳答案

替换以下代码,对我有用:

    taskList.setNumberOfRows(10, withRowType: "TaskRow")

for index in 0..<taskList.numberOfRows {
if let controller = taskList.rowControllerAtIndex(index) as? TaskTableRowController {
controller.taskName.setText("Hello World")
}
}

我已经看过屏幕截图了,但是 pl。交叉检查并确保以下几点:

  • WKInterfaceLabel(taskName) 有一个 IBOutlet 在你的任务表行 Controller

  • TaskTableRowController 标识符已设置到“任务行”。

  • WKInterfaceTable(taskList) 有一个 IBOutlet。

  • 您的行“TaskTableRowController”的自定义类已设置。

希望对你有帮助!!!

如果您有任何疑问,请告诉我。

关于ios - WKInterfaceTable 不创建行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39521583/

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