2010-09-17 31 views
1

我需要根据一些业务规则的定价进行计算,我不想在几个ViewController中复制它。来自.Net世界,我会在类上使用静态方法来做到这一点。 Objective-C中的类似解决方案是什么?在objective-c iphone中共享静态函数?

回答

3

最有可能的类方法 - 即。在接口中用+声明的函数。

@implementation PriceCalculator 

+ (float)calculatePrice:(float)param1 { 
    return param1*4.0; 
} 

@end 

(在头文件类似的@interface)

被称为像这样:

price = [PriceCalculator calculatePrice:3.0]; 
1

如果您不需要重写子类的行为,你可以只需编写一个C函数,这相当于Java和C#中的静态方法。否则,按照JosephH的建议,写一个类方法。下面是他的榜样改写为C函数:

float calculatePrice(float amount) 
{ 
    return amount * 4.0; 
} 

功能可以申报/在.H /的.m文件对您的类之一如果方便的话实现的,但你也可以创建一个单独的。 h/.m对,如果你喜欢,它只包含C函数。