gpt4 book ai didi

ios - 更新 iOS 中导航项的左栏按钮

转载 作者:行者123 更新时间:2023-11-29 03:40:00 24 4
gpt4 key购买 nike

我遇到一种情况,我需要不断轮询云并查看是否有可用数据,然后使用更新的导航项的左栏按钮和更新的图标通知用户(应用程序)。

所以流程是这样的: 在 Appdelegate 中,我有一个 NStimer 对象,每 1 分钟触发一次以从云加载元数据。加载元数据后,它会通知数据加载成功。 ViewController 堆栈中可见的任何 View Controller 都会观察到该通知。

那么,问题是:a) 这种模式是否可持续且可扩展?我想在这里与云无关。b) 可以采取哪些措施来完善该策略以使其具有可扩展性?c) 有哪些替代策略可以实现这一目标?

如果有人对这个问题进一步感兴趣,我将发布代码。

最佳答案

我会给你更新左侧按钮的代码片段。显然,您可以在这里更改各种变量,因此以此为例。

-(void) configureLeftBarButtonItem
{
UIButton * leftButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 11.5, 15)];
[leftButton setBackgroundImage:[UIImage imageNamed:@"backarrow.png"] forState:UIControlStateNormal];
[leftButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
// you can obviously do any image name and any selector and any view, button is just a classic example
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
// this is so that the button is not right up against the side
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
negativeSpacer.width = 10;

self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItems = [NSArray
arrayWithObjects:negativeSpacer, leftButtonItem, nil];
}

就可扩展性而言,我不是该领域的专家,但我编写了一些服务器驱动的应用程序,并且我认为每分钟请求一次服务器对给定服务器来说并不是那么繁重,而且基本上是合理的。我每 10-15 秒请求一次服务器(准消息应用程序),这很好。我确实认为从服务器每分钟随机更新一个导航项目可能不会带来最佳的用户体验,因为我可以想象不断变化的导航流程可能会让用户感到困惑。话虽这么说,我不确定您的具体需求是什么,所以我无法进一步发表评论。

关于ios - 更新 iOS 中导航项的左栏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18583425/

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