0

次のような条件がない場合に機能するコード内のメソッドを再利用しようとしています。

-(void) declareWebView

他のメソッド内で後で呼び出すことができます。

[self declareWebView];

しかし、それに条件を追加したい場合(それが呼ばれていると思います)、次のようになります。

-(void) declareWebView:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration

どうすればそれを[self declareWebView];??で使用できますか?

次の操作を行うと、エラーが発生します。

[self declareWebView];または[self declareWebView:];//Second に列が追加されます。

どれでもいいです!

4

2 に答える 2

2

前のコードと同じコードを実装する新しいメソッドを作成したい場合、これが私の解決策です。

- (void) originalMethod{
    [self originalMethodWithNumber:nil];
}


- (void) originalMethodWithNumber:(NSNumber*) newNumberParam{
    NSNumber *numberValue = newNumberParam;
    if (numberValue == nil) numberValue = [NSNumber numberWithInt:1];//default value.
    // Perform anything here that you were doing. replacing out the new parameter
}

その後、従来の「originalMethod」を引き続き呼び出すことができ、パラメーターを使用して新しいメソッドを作成できます。

于 2012-10-11T20:55:44.230 に答える
2

すべての引数に値を渡す必要があります。

[self declareWebView:UIInterfaceOrientationPortrait duration:1.0];

いくつか読むことをお勧めします — Objective-C プログラミング言語は優れた入門ガイドです。

于 2012-10-11T20:51:20.300 に答える