5

次のような可変引数メソッドを持つクラスを拡張しようとしています。

- (void)someMethod:(id)arguments, ... ;

サブクラスでは、次のような元のメソッドを呼び出してオーバーライドします。

- (void)someMethod:(id)arguments, ... {
    [super someMethod:arguments, ...];

    // override implementation
    ...
}

しかし、これは機能しません。誰でもこれを操作する方法を知っていますか? ありがとう。

4

1 に答える 1

3

printf/と同様にvprintf、ベースは次のように宣言します。

- (void)someMethod:(id)arguments, ... ;

サブクラスは次を実装します。

- (void)vsomeMethod:(id)arguments vaList:(va_list)vaList;

vsomeMethod:vaList:次に、ベースはの実装を呼び出すだけですsomeMethod:vaList:

于 2012-03-05T06:15:52.640 に答える