WKInterfaceLabel 未在 WKInterfaceController 中更新 - Swift Apple watch dev
Posted
技术标签:
【中文标题】WKInterfaceLabel 未在 WKInterfaceController 中更新 - Swift Apple watch dev【英文标题】:WKInterfaceLabel not updating in WKInterfaceController - Swift Apple watch dev 【发布时间】:2021-03-23 08:18:37 【问题描述】:我正在创建一个 Apple Watch 应用,但我似乎无法让更新控制器上的标签的简单操作起作用。
我已经在多个函数中尝试过这个,但它们都没有从它的默认文本更新标签。
我添加了打印语句以确保函数被调用,并且它们按预期打印到控制台。标签引用也是正确的。
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:Unknown property in Interface description (' PartnerImage') 用于控制器
未知属性似乎是我引用但已删除的网点。我不确定为什么它们仍然出现在日志中。
【问题讨论】:
该日志说什么:controller:setupProperties... 等? WKInterfaceLabel 是否在情节提要中设置了属性字符串? @Shadowrun 我不知道为什么我的大脑会忽略这些...我已将它们编辑到我的问题中。它们似乎大多是我在控制器中引用但已删除的网点 @Shadowrun 我在情节提要中将文本设置为“XXXXXXX Walker” - 我不确定这是否是属性字符串 @Shadowrun 我以为我删除了参考网点,但我没有正确执行。通过情节提要删除它们就可以了。谢谢! 【参考方案1】:我的问题是我在代码中删除了参考出口,但在情节提要中没有。
一旦我删除了出错的参考插座并重新运行应用程序,它就会正确更新。
【讨论】:
以上是关于WKInterfaceLabel 未在 WKInterfaceController 中更新 - Swift Apple watch dev的主要内容,如果未能解决你的问题,请参考以下文章
KeyError:“未在索引中找到”-创建的虚拟变量未在索引中找到