iOS使用状态方法进行同步而不仅仅是对事件做出反应

问题描述:

今天在工作中,我得到了一项任务,以修复我们正在开发的iPad应用程序中的一个错误。这个问题涉及的信息更新没有正确显示应用程序和Web服务之间的同步,或者应用程序的不一致性不同步,因此在UIButton中显示的信息不正确。查询Web服务以获取更新的数据和其他元信息发生在几个子类NSOperation类上。当某些事件结束或者不在NSOperation子类中时,信息更新使用通知中心通过在NSOperationQueue的主队列中添加块的操作来发布通知。同步发生在应用第一次加载时和每五分钟。如果在应用程序处于后台时发生五分钟标记,则应用程序返回到前台时会发生同步。iOS使用状态方法进行同步而不仅仅是对事件做出反应

当我们的收件箱视图控制器被分配并且视图出现时,UIButton不显示正在进行同步,但可以点击按钮开始同步。在收件箱视图控制器上会出现view的方法,代码会检查是否有syncInProgress。有几个边界情况下,检查失败;就我所知,基于我对我的任务以及迄今为止我已经弄清楚的代码库的理解,

- (BOOL) syncInProgress { 
    return _serviceCounter > 0; 
} 

在底部,错误的描述它可能采取状态的方法,而不是只响应事件。不确定那是否意味着。

+0

问问写这个的人吗? :)(我认为状态主要是处理模态转换的机制,例如,解析器想知道它们是否在注释部分,因为“inComment”状态改变了它们输入的含义。) –

是的,它非常简单,iOS提供了一种方法来检查元素状态的变化,当发生这种情况时,可以通知方法对象或其他东西。

Key Value Coding

志愿的主要好处是,你没有实现自己的 方案,以每次发送通知的属性更改。

如果这不是您的意思,请随时指定。

+0

将使用KVO与NSNotificationCenter?在viewDidLoad中的InboxViewController中,当三个不同的事件发生时,代码会自动添加它以通知它。 – developerdoug

+0

我认为使用KVO可能会有效,但我会在早上到办公室时进一步调查。 – developerdoug

+0

这看起来与NSNotifications非常相似。我可以将应用程序委托中的属性绑定到我的视图控制器中的uicontrol的文本属性中吗? – developerdoug