WKInterfaceTable не создает строки

Я пытаюсь создать простое приложение WatchKit с таблицей. Каждый ряд имеет метку. Вот мой класс TableRowController:

import WatchKit

class TaskTableRowController: NSObject {

    @IBOutlet var taskName: WKInterfaceLabel!
}

В моем InterfaceController я добавляю строку в свою таблицу и пытаюсь установить текст метки. Однако taskList.rowController(at: 0) не находит строку, поэтому метка не изменяется.

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()
    }

}

Вот несколько экранов из Интерфейсного Разработчика и вывод: Интерфейсный Разработчик Смотреть симулятор

1 ответ

Замените следующий код, он работает для меня:

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

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

Я видел снимки экрана, но пл. Перекрестная проверка и убедитесь, что ниже пунктов:

  • WKInterfaceLabel(taskName) имеет IBOutlet в вашемTaskTableRowController,

  • TaskTableRowController идентификатор установлен в "TaskRow".

  • WKInterfaceTable(taskList) имеет IBOutlet.

  • Пользовательский класс для вашей строки TaskTableRowController установлен.

Надеюсь, это поможет вам!

Дайте мне знать, если у вас есть запрос.

Другие вопросы по тегам