实现在大型项目中使用的所有函数的最简单方法是什么?

Tha*_*nks 3 iphone cocoa-touch objective-c

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

我考虑创建一个文件,并将其包含在我需要的每个文件中.另一方面,如果我能在一个突出的位置只包含一次,那将是很酷的,因此整个项目都可以使用.但我不知道那是什么地方.我不确定,但我认为这是不可能的.或者我错了这个假设?

Rog*_*Rog 6

我认为您要求更多关于类设计以及如何构建API,而不是如何将定义包含在其他.m文件中.

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

  • 添加一些内容到您的应用程序委托 - 这是一个存储系统范围功能的好地方,可以控制整体模型或应用程序本身.
  • 创建一个signleton类来保存你的方法.一个实际的单例或只有类方法的类(即用前导+而不是一个声明-)
  • 通过在系统类中添加类别.

我认为一般来说,你不想为所有的实用方法做出单一的决定 - 你应该根据具体情况采取每种方法(或方法的基础)并做正确的事情.例如,如果您有一个显示自己的错误对话框样式的方法,则可以将其放在AppDelegate上.如果您有将字符串翻译为法语的方法,则可以将其添加为NSString类别.

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

如果不这样你应该考虑实现一个单身人士.请参阅Matt Gallager 关于如何做到这一点的讨论.

最后,如果它确实是正确的决定,请扩展您的AppDelegate - 可能带有类别;-)