Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Iphone 什么';在一个大型项目中,实现自己所有功能的最简单方法是什么?_Iphone_Objective C_Cocoa Touch - Fatal编程技术网

Iphone 什么';在一个大型项目中,实现自己所有功能的最简单方法是什么?

Iphone 什么';在一个大型项目中,实现自己所有功能的最简单方法是什么?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我想创建一组函数,使生活更轻松。我在大约60%的项目文件中使用它们。我想知道在项目中包含这些内容的最有效方式是什么 我考虑在它们进入的地方创建一个文件,并在我需要它们的每个文件中包含这个文件。另一方面,如果我能在一个显著的位置只包含一次,那将是很酷的,这样在整个项目中都可以使用。但我不知道那是什么地方。我不确定,但我认为这是不可能的。或者我的假设是错误的?我认为,您可以在ProjectName\u Prefix.pch中包含标题。您在xcode项目中的Prefix.pch文件用于添加您在项目的所

我想创建一组函数,使生活更轻松。我在大约60%的项目文件中使用它们。我想知道在项目中包含这些内容的最有效方式是什么


我考虑在它们进入的地方创建一个文件,并在我需要它们的每个文件中包含这个文件。另一方面,如果我能在一个显著的位置只包含一次,那将是很酷的,这样在整个项目中都可以使用。但我不知道那是什么地方。我不确定,但我认为这是不可能的。或者我的假设是错误的?

我认为,您可以在ProjectName\u Prefix.pch中包含标题。

您在xcode项目中的Prefix.pch文件用于添加您在项目的所有/几乎所有类中需要的所有导入语句

UIKIT和基础导入是在这个文件中编写的。< /P>


因此,只需将您的导入语句添加到此文件,您就完成了。您可以在Groups&Files中的Other Sources文件夹中找到它,我想您询问的更多的是类设计和如何构造API,而不是如何将定义包含到其他.m文件中

如果是这种情况,大致有三种选择:

  • 向你的应用程序代理添加一些东西-这是一个存储控制整个模型或应用程序本身的系统范围功能的好地方
  • 创建一个signleton类来保存您的方法。一个实际的单例或一个只包含类方法的类(即,用前导的
    +
    而不是
    -
    声明)
  • 通过将类别添加到系统类中
我认为,一般来说,您不希望对所有实用方法做出单一的决定-您应该根据具体情况选择每个方法(或方法组),并做正确的事情。例如,如果您有一个显示您自己的错误对话框样式的方法,您可以将其放在AppDelegate上。如果您有一种将字符串翻译成法语的方法,您可以将其添加为NSString类别

一般来说,类别在这里是你的朋友-它们可以封装在一个.h和.m中,这样它们很容易在项目中移动,但它们的可访问性遵循目标类

如果做不到这一点,您应该考虑实现单例。看看Matt Gallager关于如何做到这一点的文章


最后,如果这确实是一个正确的决定,请扩展您的AppDelegate-可能使用一个类别;-)

嗨,斯旺苏斯,你为什么改了名字;-)因为我觉得这个更合适;)它在评论中看起来确实不错:-)是的,这也是这个名字的一个很好的理由;-)