在iPhone中定义具有全局功能的类

时间:2013-01-31 08:51:42

标签: iphone objective-c

我正在尝试在iPhone上制作应用程序,因为我是新手,所以我需要一些关于此事的信息。

我的课程很少

Class 1
Class 2
Class 3
...
Class 10

我有一个新的NSObject类“Utilities”。在这个类中,我想定义一些函数,如

让我们说,传递一个NSMutableDictonary并计算平均值

-(void) calculateAvg:(NSMutableDictonary *)myDic
-(void) calculateMile:(NSMutableDictonary *)myDic
-(void) calculateAnythingElse:(NSMutableDictonary *)myDic

现在这些是将在整个app类中使用的函数,从1到10.而不是将这些函数放在每个类中,我已经创建了这个Utilities函数。 在java中我可以做到这一点

Utilities newUtil = new Utilties();
newUtil.callFunction();

但是如何在我的iPhone中执行此操作,如果这是Singleton设置的工作,我有点困惑?或者我应该使用常规方法

Utilities newUtil = [Utilties alloc] init];

然后调用函数。

现在,这个类将在整个应用程序类中一次又一次地使用

2 个答案:

答案 0 :(得分:2)

您可以采取以下步骤:

1)创建NSObject类" Utilities",你已经完成了。

2)添加您想要全局的所有方法。但是" +"而不是" - "如下所示:

+(void) calculateAvg:(NSMutableDictonary *)myDic
+(void) calculateMile:(NSMutableDictonary *)myDic
+(void) calculateAnythingElse:(NSMutableDictonary *)myDic

3)导入" Utilities.h"在#34; .pch"文件。

4)那就是它。完成。

您可以在整个应用中访问以上所有方法,如下所示:

[Utilities calculateAvg:<dictionary_object>];

意味着,无需创建对象。您只能按类名访问静态方法。

希望你有个主意。

快乐的编码!

干杯!

答案 1 :(得分:1)

只需制作那些实用方法类方法

+(void) calculateAvg:(NSMutableDictonary *)myDic
+(void) calculateMile:(NSMutableDictonary *)myDic
+(void) calculateAnythingElse:(NSMutableDictonary *)myDic

只要它们不需要操作实例变量,它就可以工作。然后可以像这样使用它们:

[Utilties callFunction];

请注意,此处不涉及单身人士;单例是一个类的实例,可以选择包含实例变量,只存在一个实例。您正在寻找的是具有类方法的类,它有效地使它们与C函数相同,因为它们不需要实例变量,并且只是将这些函数分组到单个可管理单元中的一种方式。