1. ホーム
  2. objective-c

[解決済み] Objective-Cで複数のパラメータを渡すにはどうしたらよいですか?

2022-04-15 13:29:12

質問

Objective-Cのメソッド構文についての投稿をいくつか読みましたが、メソッドに複数の名前があることが理解できないようです。

というメソッドを作成しようとしています。 getBusStopsNSStringNSTimeInterval のパラメータを持ち、戻り値の型が NSMutableArray . このようにメソッドを構築しましたが、実行時に明らかにエラーが発生します。

- (NSMutableArray *)getBusStops:(NSString *)busStop
                                (NSTimeInterval *)timeInterval;

メソッドを使った別の例を見ました。

-(NSInteger)pickerView:(UIPickerView *)pickerView
            numberOfRowsInComponent:(NSInteger)component

このメソッドでは、各パラメーターにメソッド名を付けているのが理解できません。のようにすればいいのでしょうか?

- (NSMutableArray *)getBusStops:(NSString *)busStop
                        forTime:(NSTimeInterval *)timeInterval

解決方法は?

Objective-Cには名前付きパラメータがないので、コロンの左側にあるものはすべてメソッド名の一部となります。例えば

getBusStops: forTime:

はメソッドの名前です。名前を分解することで、より説明的なものにすることができます。単純にメソッド名を

getBusStops: :

が、これでは2つ目のパラメータについてよくわかりません。