次のような可変引数を受け入れるメソッドを作成しました
- (NSDictionary *) getImagePixelsAtLocation: (int) locations,...NS_REQUIRES_NIL_TERMINATION
しかし、このクラス メソッドにメッセージを送信すると、呼び出されたメソッドの location 変数の値は 0 になります (渡した引数の数は関係ありません)。
このメソッドは、スカラー データ型を受け取ります。私の質問は: スカラー変数を可変引数としてメソッドに渡すことはできますか? はいの場合、何が間違っていますか?
メソッドの定義は次のとおりです。
- (NSDictionary *) getImagePixelsAtLocation: (int) pixel1,...
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
va_list args;
va_start(args, pixel1);
//processing logic
va_end(args);
}
これは私がメッセージを送信する方法です:
[HSImageProcessing getImagePixelsAtLocation:1,2,nil];