0

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

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

所以,问题:a)这种模式是否可持续和可扩展?我想在这里成为云不可知论者。b) 可以做些什么来完善这一战略以使其具有可扩展性?c) 有哪些替代策略可以实现这一目标?

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

4

1 回答 1

1

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

-(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 秒请求一次服务器(准消息应用程序),这很好。我确实认为每分钟从服务器随机更新一个导航项可能不会带来最佳的用户体验,因为我可以想象不断变化的导航流程可能会让用户感到困惑。话虽如此,我不确定您的具体需求是什么,所以我无法进一步评论。

于 2013-09-03T03:20:21.737 回答