我偶然发现了我必须从单例TCPConnection
类更新视图控制器类中的数据源的问题。我在单例TCPConnection
类中有服务器的回调函数,但是当我收到数据时,我必须更新视图控制器类中表视图的数据源。您能否为这种情况提供解决方案,在此先感谢。
问问题
145 次
2 回答
2
我将使用NSNotificationCenter
:订阅服务(订阅者):
[[NSNotificationCenter defaultCenter] addObserver:<your_controller>
selector:@selector(method)
name:@"name_of_notification"
object:<any_linear_object_u_want>];
现在发件人将发布NSNotificationCenter
:
[[NSNotificationCenter defaultCenter] postNotificationName:@"name_of_notification" object:<any_linear_object_u_want>];
在接收器选择器上,您可以调用
[self.your_table reloadData];
该reloadData
操作可能很繁重,如果您遇到任何性能问题,请尝试其他重新加载。
祝你好运
于 2013-09-02T07:32:48.030 回答
1
代表团是你的朋友。您将要声明一个委托协议(您可以在 TCPConnection.h 中执行此操作),并将委托属性添加到类型id<TCPConnectionDelegate>
( @property (nonatomic, weak) id<TCPConnectionDelegate> delegate;
) 的 TCPConnection 类中。
然后,您可以将 viewController 设置为 TCPConnection 实例的委托。
然后,在您的 TCPConnection 实现中,您需要在收到新数据时向您的委托发送消息(将该数据与消息一起传递)。
于 2013-09-02T07:12:52.733 回答