WKInterfaceTable 和 setNumberOfRows 崩溃 "unexpectedly found nil while unwrapping an Optional value"
WKInterfaceTable & setNumberOfRows get crash "unexpectedly found nil while unwrapping an Optional value"
我正在使用 WatchKit,我有一个只有 table 的简单界面,但是我只用了几行代码就出错了,也许我忘记了一些非常基本的东西。
我的界面:
table 中的行具有标识符:
和自定义 class:
控制器是通过这段代码实现的:
import WatchKit
import Foundation
class ActiveListController: WKInterfaceController
{
@IBOutlet weak var tableView: WKInterfaceTable!
override func awakeWithContext(context: AnyObject?)
{
super.awakeWithContext(context)
loadData()
}
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()
}
func loadData()
{
tableView.setNumberOfRows(10, withRowType: "ItemRow") // GET ERROR
for index in 0...9
{
let row = tableView.rowControllerAtIndex(index) as! ItemRow
row.nameLabel.setText("test")
}
}
}
显然我有我的单行自定义 class
import Foundation
import WatchKit
class ItemRow : NSObject
{
@IBOutlet weak var checkImage: WKInterfaceImage!
@IBOutlet weak var nameLabel: WKInterfaceLabel!
}
因此,当我 运行 应用程序时,当我尝试设置行数时出现错误,但实际上我无法理解什么是 nil:
fatal error: unexpectedly found nil while unwrapping an Optional value
也许这是一个简单的错误,也许不是,但请帮助我:\
代码中的 for
循环从 1...10
开始,它应该是 0...9
因为行是基于 0
终于发现了我的错误
我忘了将我唯一的Apple Watch接口设置为初始控制器
是的,令人难以置信和尴尬,但仅此而已。提供 Xcode 的错误不是最好的,它会更好 "initial controller missing".
我希望我的问题和答案有一天能对某人有所帮助:)
我正在使用 WatchKit,我有一个只有 table 的简单界面,但是我只用了几行代码就出错了,也许我忘记了一些非常基本的东西。
我的界面:
table 中的行具有标识符:
和自定义 class:
控制器是通过这段代码实现的:
import WatchKit
import Foundation
class ActiveListController: WKInterfaceController
{
@IBOutlet weak var tableView: WKInterfaceTable!
override func awakeWithContext(context: AnyObject?)
{
super.awakeWithContext(context)
loadData()
}
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()
}
func loadData()
{
tableView.setNumberOfRows(10, withRowType: "ItemRow") // GET ERROR
for index in 0...9
{
let row = tableView.rowControllerAtIndex(index) as! ItemRow
row.nameLabel.setText("test")
}
}
}
显然我有我的单行自定义 class
import Foundation
import WatchKit
class ItemRow : NSObject
{
@IBOutlet weak var checkImage: WKInterfaceImage!
@IBOutlet weak var nameLabel: WKInterfaceLabel!
}
因此,当我 运行 应用程序时,当我尝试设置行数时出现错误,但实际上我无法理解什么是 nil:
fatal error: unexpectedly found nil while unwrapping an Optional value
也许这是一个简单的错误,也许不是,但请帮助我:\
代码中的 for
循环从 1...10
开始,它应该是 0...9
因为行是基于 0
终于发现了我的错误
我忘了将我唯一的Apple Watch接口设置为初始控制器
是的,令人难以置信和尴尬,但仅此而已。提供 Xcode 的错误不是最好的,它会更好 "initial controller missing".
我希望我的问题和答案有一天能对某人有所帮助:)