質問: 全くのswift初心者です。 xcode8.0LiOS10でネット上のサンプルプログラム等を見て練習していますが、xcodeで利用する(準備されている)以下の様なfunc()の意味が分かりません。今は見よう見まね、try&errorで練習していますが、xcodeを使える様になるには、xcodeで準備されているfundの使い方を理解しないといけないと思っています。そこで、例えば、以下のfuncは、どの様に読み取れば良いのでしょうか?また、他のfuncについても、func peripheral(...)のカッコの中の読み取り方には共通の決まりがあるのでしょうか?(例えば、どの様な値が出力されてくると読み取れば良いのか、funcのカッコ内のそれぞれの文言は何を意味しているのか、等) どなたか、分かり易く教えて頂けると幸いです。よろしくお願いいたします。 ``` (1) func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) { <#code#> } (2) func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?){ <#code#> } ```
回答: > > 以下のfuncは、どの様に読み取れば良いのでしょうか? > > > ソースを開いて、「CBPeripheralDelegate」を、commandとoptionを押しながらクリックすると右側にウィンドウが出てそれらのメソッドが見つかるはずです。コールされるタイミングとパラメタの意味は大体掴めるかと思います。中身の実装はプログラマに委ねられています。 > > func peripheral(...)のカッコの中の読み取り方には共通の決まりがあるのでしょうか? > > > メソッド名が同じだけど引数が違う...のはメソッドのオーバーロードといいましてswiftに特化した話ではありません。興味があれば「オブジェクト指向」「ポリモーフィズム」「オーバーロード」「オーバーライド」あたりでググってみてください。オーバーロードはオブジェクト指向に関係ないなんて記事も見つかりますがまあそういのも一興かと。