gpt4 book ai didi

ios - 运行循环以将颜色设置为按钮 ios?

转载 作者:行者123 更新时间:2023-11-29 02:43:36 24 4
gpt4 key购买 nike

我的 ios 应用程序有点问题。它处理 Apple 推送通知 (APN) 和所有但是,我的应用程序在其中处理它 appDelegate.m

问题是如果用户有通知我想制作一个按钮来改变颜色,所以我搜索了一种方法并找到了“Run Loop”,是否可以在辅助线程中使用 Run Loop无限检查是否有新通知? (每次验证之间等待 5/10 秒)我真的不知道如何声明它既不能让它单独工作。 (我是 xCode 的新手,对应用程序的其余部分使用了 AFNetworking 异步方法,所以我不太擅长线程和协作。)

如果有人能给我一种在我的应用程序中实现简单运行循环的方法,那就太好了。

谢谢!

编辑:我有一个用于用户配置文件的白色按钮,我希望它在用户收到通知时更改为红色,该按钮已经声明并在 viewController 中工作,但我无法将其链接到appDelegate,这就是为什么我要求做一个可以处理 appDelegate 发送的 BOOL 的 RunLoop,我的 View 只在 viewDidLoad 中执行(当应用程序在后台等时,它不会真正工作......)

最佳答案

我真的不明白你为什么需要一个 Run loop?

你可以使用 NSNotificationCenterhttps://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/nsnotificationcenter_Class/Reference/Reference.html

AppDelegate.m

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{

if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"didRecieveNotification" object:nil userInfo:userInfo];
}

}

然后在按钮所在的位置添加您的 ViewController 作为观察者:

- (void)viewDidLoad {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"didRecieveNotification" object:nil];
}

-(void)handleNotification:(NSNotification *)notification
{
YourButton.backgroundColor = [UIColor redColor];
}

关于ios - 运行循环以将颜色设置为按钮 ios?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25421667/

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