我有几个类使用的方法。我的想法是将这些方法放在一个通用的单独文件中,并让其他类看到它。
我如何在Xcode中执行此操作?
很抱歉,我不熟悉iPhone开发。
感谢
答案 0 :(得分:2)
我有时会有一个Utility
类,我只为此定义类方法。在任何地方我都需要使用其中一种随机方法,我只需#import "Utility.h"
和[Utility doSomeHandyThing]
您可以使用此声明定义方法:
+(BOOL)doSomeHandyThing;
+
允许您在类本身上调用它而不首先实例化它,非常适合快速访问不需要依赖任何上下文的代码。
答案 1 :(得分:1)
有几种方法可以实现这一目标。这取决于这些类可能需要你谈论的方法。换句话说,它取决于您需要的集成级别。例如;该方法是否需要处理封装在这些类中的数据。
一种方法是使用实现特定方法的单例辅助类。
另一种方法是使用静态方法的辅助类(Squeegy在他的回答中非常简要地起草了一些东西)。
另一种方法是创建一个包含特定方法的基类,所有其他需要此方法的类只是扩展基类。让我为你起草一下:
BaseClass.h: @interface BaseClass { }; - someNiftyMethodWith:(NSString *)someCoolParameter; @end BaseClass.m: @implementation BaseClass - someNiftyMethodWith:(id)someCoolParameter { NSLog(@"yoy, that was easy to print %@ into the console", someCoolParamater); } @end ExtendingClass.h @interface ExtendingClass : BaseClass { }; - someMethodThatNeedsHelp; @end ExtendingClass.m @implementation ExtendingClass - someMethodThatNeedsHelp { [self someNiftyMethodWith:@"called by the extending class"]; } @end
使用Objective C时,还有更多方法可以实现您可能需要的内容。请注意类别,代表,协议。
最后但并非最不重要的是,在这样的头文件中注册了一个普通C函数的老派解决方案:
Helper.h: void OldSchoolHelperFunction(void) { printf("simple helper function"); };
为了使用它,你可以在所有可能需要它的类实现中包含头文件Helper.h
#import "Helper.h" @implemenation FooBar - someMethodThatNeedsHelp { OldSchoolHelperFunction(); } @end
答案 2 :(得分:0)
只需创建一个具有这些方法的自定义类。 This应该帮助你。
答案 3 :(得分:0)
在类之间需要共享多少代码?也许首先创建一个基类,然后在其他情况下从其继承它将适用于这种情况。