Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 不同观点中的同一类_Objective C_Ios_Xcode - Fatal编程技术网

Objective c 不同观点中的同一类

Objective c 不同观点中的同一类,objective-c,ios,xcode,Objective C,Ios,Xcode,我有一个应用程序,有3个视图和2个类,每个类负责解析消息和连接到服务器 问题是,我需要在所有三个视图和连接中使用解析器 但我认为在所有视图中包含并初始化这两个的实例可能并不正确,对吗 这不对,我该怎么做? 我正在考虑在appDelegate中创建它们的实例,但我不知道如何创建 要做到这一点,请使用实例的方法 提前感谢在这种情况下,最好在appDelegate中创建它。appDelegate可以在代码中的任意位置访问,如下所示: MyAppDelegate *delegate=(MyAppDele

我有一个应用程序,有3个视图和2个类,每个类负责解析消息和连接到服务器

问题是,我需要在所有三个视图和连接中使用解析器 但我认为在所有视图中包含并初始化这两个的实例可能并不正确,对吗

这不对,我该怎么做? 我正在考虑在appDelegate中创建它们的实例,但我不知道如何创建 要做到这一点,请使用实例的方法


提前感谢

在这种情况下,最好在appDelegate中创建它。appDelegate可以在代码中的任意位置访问,如下所示:

MyAppDelegate *delegate=(MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate parse:data];

传回AppDelegate是可能的,但实际上不是OOP,是吗?很快,您将使用它在大型应用程序中的视图控制器之间来回传递数据


更好的方法是在视图控制器中创建一个属性来保存解析器,这与在核心数据程序中传递托管对象上下文的方法类似。在一个位置创建此解析器,在创建新的视图控制器后,将属性设置为指向您的解析器。这样,您只需传递一个实例,并以更可控的方式传递。

好的,我想我已经掌握了窍门。例如,我的连接具有authenticate方法:并且连接在我的appDelegate中初始化。如果我想调用authenticate方法:在我的第三个视图中,我应该怎么做?执行[appDelegate authenticate:data]会给我一个关于响应的警告。好的,我想我理解了,但我还不熟悉核心数据,我将研究如何按照您所说的方式执行,谢谢。