-1

私は新しいのでiPhoneでアプリを作成しようとしているので、この問題について少し情報が必要です。

授業が少ない

Class 1
Class 2
Class 3
...
Class 10

新しい NSObject クラス「ユーティリティ」があります。このクラスでは、次のようないくつかの関数を定義したい

たとえば、NSMutableDictonary を渡して平均を計算します

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

これらは、1 から 10 までのアプリ クラス全体で使用される関数です。これらの関数を各クラスに配置する代わりに、このユーティリティ関数を作成しました。Javaで私はこれを行うことができました

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

ただし、iPhoneでこれを行うにはどうすればよいですか。これがSingletonセットの作業である場合、少し混乱しますか? または、通常の方法を使用する必要があります

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)最初に「Utilities.h」クラスを「.pch」ファイルにインポートします。

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 に答える