-1

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

我的课很少

Class 1
Class 2
Class 3
...
Class 10

我有一个新的 NSObject 类“实用程序”。在这个类中,我想定义一些函数,比如

比方说,传递一个 NSMutableDictionary 并计算平均值

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

现在这些是将在整个应用程序类中使用的函数,从 1 到 10。我没有将这些函数放在每个类中,而是创建了这个实用程序函数。在java中我可以做到这一点

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

但是,我怎么能在我的 iPhone 中做到这一点,如果这是单例集的工作,我有点困惑?或者我应该使用常规方法

Utilities newUtil = [Utilties alloc] init];

然后调用函数。

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

4

2 回答 2

2

您可以按照以下步骤进行:

1) 创建您已经完成的 NSObject 类“实用程序”。

2)添加您希望它作为全局的所有方法。但是使用“+”而不是“-”,如下所示:

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

3)首先在“.pch”文件中导入“Utilities.h”类。

4) 就是这样。完毕。

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

[Utilities calculateAvg:<dictionary_object>];

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

希望你有一个想法。

快乐编码!

干杯!

于 2013-01-31T08:57:55.943 回答
1

只需将这些实用方法设为类方法即可

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

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

[Utilties callFunction];

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

于 2013-01-31T08:57:12.387 回答