タイトルはそれを要約しています。すべてのIBOutletsを切断/再接続しようとしました。WKInterfaceTable を設定する InterfaceController のコードは次のとおりです。
func setupLoadingTable () {
self.myTable.setNumberOfRows(1, withRowType:"universalRowID")
for (var i = 0; i<self.myTable.numberOfRows; i++){
var row = self.myTable.rowControllerAtIndex(i) as! UniversalRowView
row.mainTitle.setText("Hello world") //THIS THROWS AN ERROR
}
}
カスタム行クラスである UniversalRowView のコードは次のとおりです。
import WatchKit
class UniversalRowView: NSObject {
@IBOutlet weak var mainTitle: WKInterfaceLabel!
@IBOutlet weak var subTitle: WKInterfaceLabel!
}
テーブルの IBOutlets が正しく接続されている。Storyboard の行はタイプ UniversalRowView に設定され、両方のラベルのアウトレットが適切に接続されています。
この線:
row.mainTitle.setText("Hello world")
次のエラーをスローします: 「致命的なエラー: オプション値のラップ解除中に予期せず nil が見つかりました」
また、そのコードをコメントアウトすると、ストーリーボードに表示されるストック WKInterfaceLabels がシミュレーターに表示されません。これもエラーのように感じますが、どうすればよいかわかりません。
編集: willActivate() で setupLoadingTable() を呼び出す