iOS xcode轮询方法定期

时间:2014-03-23 06:42:40

标签: ios objective-c xcode class

我编写了一个处理网络通信的类,我希望ViewController类中的方法能够监视通信类中的某些变量,并在收到来自网络的数据时更新标签文本。我在调用建立网络通信之后尝试在ViewDidLoad方法结束时调用一个方法但该尝试阻止了视图的显示,并且监视网络我从未看到建立连接。

ViewController类中方法监视通信器类中公共成员变量更新的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

你有很多选择

  • 键值观察:您将View Controller注册为另一个类中特定属性的观察者。 注意:易于实现,但您的连接类必须修改符合KVO的属性。
  • 委派:您可以创建协议,并使View Controller类成为连接类的委托。 Notes :实现有点乱,因为你需要创建协议,让VC实现协议,并在连接类中创建委托对象
  • 通知:您可以注册View Controller以接收连接类发送的自定义通知。 Notes :易于实现,您可以毫无问题地注册许多听众。
  • 回调块:您可以将一个块从View Controller传递到连接类,并要求它执行该块。 Notes :非常简单和优雅,但是块可能很棘手。

答案 1 :(得分:0)

最好的方法是让你的视图控制器成为通信器实例的委托。

答案 2 :(得分:0)

您还可以使用NSNotificationCenter向应用中的其他对象宣传更改