首页 > 解决方案 > WKInterfaceLabel 未在 WKInterfaceController 中更新 - Swift Apple watch dev

问题描述

我正在创建一个苹果手表应用程序,但我似乎无法让更新控制器上的标签的简单行为起作用。

我已经在多个函数中尝试过这个,但它们都没有从它的默认文本更新标签。

我添加了打印语句以确保函数被调用,并且它们按预期打印到控制台。标签引用也是正确的。

class HomeController: WKInterfaceController {

@IBOutlet weak var walkerTitle: WKInterfaceLabel!

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()
    print("didAppear")
    print(User.Player.getTitle())
    walkerTitle.setText(User.Player.getTitle() + " Walker");
}

override func didAppear() {
    super.didAppear()
    print("didAppear")
    print(User.Player.getTitle())
    walkerTitle.setText(User.Player.getTitle() + " Walker");
}

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

}

控制台旁边的应用程序屏幕截图

我在控制台旁边附上了应用程序的图像(不相关的打印语句被涂白)。任何帮助将不胜感激 :)

如何让标签在控制器上更新?

编辑:

我在此处加载应用程序之前添加了日志:

跳过/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim 2021-03-23 19: 52:21.689294+1030 PDC Hatch WatchKit Extension[718:30700] [default] lookupMainFuncAddressInMachHeader:71: Swift 入口点数据无效 2021-03-23 19:52:21.690275+1030 PDC Hatch WatchKit Extension[718:30700] [default] lookupMainFuncAddressInMachHeader:77: Swift 入口点地址无法确定。2021-03-23 19:52:21.944316+1030 PDC Hatch WatchKit Extension[718:30700] [default] +[SPRemoteInterface controller:setupProperties:viewControllerID:tableIndex:rowIndex:classForType:]:2719:接口描述中的未知属性(' PartnerImage') 用于控制器 <PDC_Hatch_WatchKit_Extension.HomeController: 0x600001b255c0>

未知属性似乎是我引用但已删除的网点。我不确定为什么它们仍然出现在日志中。

标签: swiftxcodewatchkitapple-watchwatchos

解决方案


我的问题是我在代码中删除了参考插座,但在情节提要中没有。

一旦我删除了出错的参考网点并重新运行应用程序,它就会正确更新。


推荐阅读