我有一个包含3个视图的应用程序,以及2个类,每个类都负责解析消息并连接到服务器。
问题是,我需要在所有三个视图中使用解析器(以及连接) 但我认为在所有视图中包含和初始化两者的实例可能不是正确的性能,我是对的吗?
这不正确,我应该怎么做? 我正在考虑在appDelegate中创建它们的实例,但我不知道如何 这样做是为了使用实例的方法。
提前致谢
答案 0 :(得分:0)
可以传回AppDelegate,但不是真的OOP吗?很快,您将使用它在较大应用程序中的视图控制器之间来回传递数据。
更好的方法,类似于在Core Data程序中传递托管对象上下文的方式是在视图控制器中创建一个属性来保存解析器。在一个位置创建此解析器,在创建新的视图控制器后,将该属性设置为指向解析器。这样你只需要传递一个实例,然后以更加可控的方式传递。
答案 1 :(得分:-1)
在这种情况下,在appDelegate中创建它会更好。 appDelegate可以在代码中的任何地方到达,如下所示:
MyAppDelegate *delegate=(MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate parse:data];