【发布时间】: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 我以为我删除了参考网点,但我没有正确执行。通过情节提要删除它们就可以了。谢谢!
标签: swift xcode watchkit apple-watch watchos