gpt4 book ai didi

iphone - 收到通知后,UILabel 文本不更新

转载 作者:行者123 更新时间:2023-12-01 19:12:04 25 4
gpt4 key购买 nike

当我使用这个设置标签时

self.versionLbl.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"version"];

viewDidLoad方法,它在 View 被加载时工作,但我也想在收到通知时设置标签。
- (void)receiveNotification:(NSNotification *) notification
{
if ([[notification name] isEqualToString:@"versionNotification"]){
NSLog (@"Successfully received the notification!");
self.versionLbl.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"version"];
}
}

字符串 "Successfully received the notification!"被打印出来,但标签不会用字符串更新/设置,除非我再次重新加载 View 并且 viewDidLoad方法被调用。

编辑

当我输入 self.versionLbl.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"version"]; 时,我发现它与通知无关在另一个函数中也没有设置......它只有在我将它放在 viewDidLoad 方法中时才会设置

最佳答案

确保您的标签不是 nil并且您正在主线程中调用 UIKit 方法。你可以试试这个:

dispatch_async(dispatch_get_main_queue(), ^{
self.versionLbl.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"version"];
});

关于iphone - 收到通知后,UILabel 文本不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15947973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com