iPhone - 单独文件的一般方法

时间:2010-02-26 00:25:13

标签: iphone

我有几个类使用的方法。我的想法是将这些方法放在一个通用的单独文件中,并让其他类看到它。

我如何在Xcode中执行此操作?

很抱歉,我不熟悉iPhone开发。

感谢

4 个答案:

答案 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)

在类之间需要共享多少代码?也许首先创建一个基类,然后在其他情况下从其继承它将适用于这种情况。