トップページ > プログラム > 2014年11月15日 > Cmo7am1O

書き込み順位&時間帯一覧

16 位/255 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000100000210000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net

書き込みレス一覧

Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
64 :デフォルトの名無しさん[]:2014/11/15(土) 07:45:53.26 ID:Cmo7am1O
皆さん、ありがとうございます
レスおそくなりました

>>61
Objective-Cにはオーバーロードはないのですね
Javaは勉強していたので、オーバーライドとオーバーロードの違いは
理解していましたが、Objective-Cではないとは思いませんでした…
メソッドの引数の型は、書き方からすると、もしかしてキャストなんでしょうか。。

>>62
ありがとうございます
そのページを読んで勉強してみます

>>63
なるほど、非常によくわかりました
どうもありがとうございます
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
70 :デフォルトの名無しさん[]:2014/11/15(土) 13:43:28.84 ID:Cmo7am1O
ありがとうございます
なんだか、私の書き方が悪く、いろいろとすみません

>>65
そうですね
私がなじみがあるのはそのように引数の型や数が違うオーバーロードですが、
Objective-Cでは同一セレクタでのオーバーロードは不可なのですね
確かにLCCでつないで〜With〜のようなメソッド名はCocoaではいろいろ見かけます

>>67
やはり型なのですか
もしかして、キャストだから実行時に解決されてオーバーロードという仕組みが
なかったりするのかなと思いましたが、キャストではないのですね
>>62さんのリンク読んでみると、(char *)型のmethod_typesというものも
あるようなので、それをみればオーバーロードの実装も出来るのではと
思いましたが、Objective-Cのポリシーなんでしょうかね…
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
72 :デフォルトの名無しさん[]:2014/11/15(土) 13:59:38.62 ID:Cmo7am1O
>>71
あっ、いや、特にこだわっているというわけではないのですけど、
Java, C++, C#などではいわゆるオーバーロードが出来たので、
ちょっとビックリしました…
汎用的なライブラリを作る時は、同一メソッド名の型違いでオーバーロード
しておいた方がいろいろと使い勝手のよいものになるので、結構重宝してた
のですが、Objective-C使いさんは、型違いは全て>>65さんのように
セレクタを変えて使っているんですね
よくよく考えると、引数の数違いの場合は、必然的に:が追加されてセレクタが
変わるので、そもそもオーバーロードという概念ははじめから考えてなかった
のかもしれませんが…
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
74 :デフォルトの名無しさん[]:2014/11/15(土) 14:15:15.80 ID:Cmo7am1O
>>73
使う側からしても、型が違ってもメソッド名が同じな方が使いやすいかなと
思ったりしますが、確かになくてもよいといえばよいですね
使う側も渡す引数の型を意識してコーディングするので、むしろ
よいかもしれませんね

Message Forwardingですか。この辺りを読み込んでみます
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtForwarding.html

ありがとうございます


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。