- Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
556 :デフォルトの名無しさん[sage]:2016/11/17(木) 12:45:51.00 ID:0S40a4Cy - インスタンスメソッドの実行に関して教えてください。
// message sending [obj say: @
|
- Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
559 :デフォルトの名無しさん[sage]:2016/11/17(木) 13:29:10.81 ID:0S40a4Cy - ソースコードが勝手に切られちゃう(サニタイズ関係?)みたいなので画像で失礼します。
インスタンスメソッドの実行に関して教えてください。 message sending / function pointer どちらの方法でもちゃんと動くのは確認できましたが、 なぜ後者はSELパラメータが必須(この場合selector) な仕様になっているんでしょう? 冗長に見えますが何か意味があるんでしょうか。
|
- Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
561 :デフォルトの名無しさん[sage]:2016/11/17(木) 13:33:39.43 ID:0S40a4Cy - > SELパラメータが必須
instanceMethodForSelector: の時点で伝えてあるのに、なぜ実行時にも必要になるのかという事です。
|
- Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
563 :デフォルトの名無しさん[sage]:2016/11/17(木) 13:54:11.06 ID:0S40a4Cy - ありがとうございます。それでは改めて聞き直します。
メソッドの暗黙の第2引数が SEL である、そもそもの設計の意図はなんなんでしょう。 内部で振り分ければいいので複数のメソッドに対して一つの関数(ポインタ)が共通で対応可能とか? それが実際にできたとして何かメリットがあるんでしょうか。
|