Apple Watch Table - 前4行没有出现

时间:2015-03-19 14:27:34

标签: ios swift watchkit apple-watch wkinterfacetable

我在Apple Watch上向WKInterfaceTable添加行时遇到问题。奇怪的是,无论我做什么,前4行都显示为空。我尝试手动和循环添加行 - 没关系。我相信我的代码很好,因为第5行和更多行看起来很好。这里发生了什么:

empty rows

进一步滚动:

enter image description here

我的代码:

import Foundation
import WatchKit

class TableInterfaceController: WKInterfaceController{

    @IBOutlet weak var agentTable: WKInterfaceTable!

    let agents = ["The Dude","Walter","Donnie","Maude","Knox","Karl","Nihilist 2"]

    override init(){
        super.init()
        loadTableData()
    }


    private func loadTableData(){
        agentTable.setNumberOfRows(agents.count, withRowType: "AgentTableRowController")
        println("Count: \(agents.count)")

        for(index,agentName) in enumerate(agents){
            let row = agentTable.rowControllerAtIndex(index) as AgentTableRowController
            println(agentName, index)
            row.agentLabel.setText(agentName)
        }
    }
}

任何帮助表示赞赏。这可能是微不足道的。我在Yosemite 10.10.2

上运行Xcode 6.2(6C131e)

2 个答案:

答案 0 :(得分:2)

awakeWithContext初始化我的表时,我遇到了完全相同的问题。按照dan的建议将表初始化移动到willActivate,问题就解决了。

我对WKInterfaceControllerWKInterfaceTable的文档进行了筛选,他们建议您 能够在init或{{1}中执行初始化所以我相信这是WatchKit框架中的一个错误。

答案 1 :(得分:0)

也许用索引的for-loop尝试一下?

for var i=0; i<agents.count; i++ {
   let row = agentTable.rowControllerAtIndex(i) as AgentTableRowController
        println(agents[i], i)
        row.agentLabel.setText(agents[i])
}

希望对你有用..