3

object-c メソッドのメソッド引数を反復処理する方法はありますか? 多くのメソッドで多くのエラー チェックを行う必要があり、入力される各値を個別にチェックする代わりに自動化したいと考えています。

これは、可変数の引数を持つメソッドに対して実行できることを知っています。しかし、固定数の引数を取るメソッドでこれを行う方法を特に探しています。

- (void)myMethodWithArg1:(NSString *)arg1 arg2:(NSNumber *)arg3 NSError:(NSError **)err {

    // Get all arguments as array
    NSArray *args; // ???

    for (id arg in args) {
        // Do stuff with args ....
    }
}
4

2 に答える 2

2

以下を試すことができます。

- (void)myMethodWithArg1:(NSString *)arg1 arg2:(NSNumber *)arg3 NSError:(NSError **)err 
{
    NSArray *args = [[NSArray alloc] initWithObjects:arg1, arg2, err, nil];

    for(id arg in args) {

        if(arg) {
            // Your code that you want to do with each arg here.
        }
    }    

}

ここで起こっていることは、オブジェクトを使用して を初期化し、NSArrayそのオブジェクトが引数であることfor loopだけです。その中で、その議論でやりたいことをやり、それが何であるかを判断するだけです。argnilnullfor loop

これがあなたが探しているものでない場合は、コメントしてください。可能な限り最善を尽くすために修正します.

于 2013-05-20T10:45:29.540 に答える