Objective-C では、通常、次のように定義された動的に型指定されたオブジェクトを返すメソッドを目にします。
- (id)someMethod:(id)someParameter;
ただし、これもできることはわかっています。
- someMethod:someParameter;
興味深いことに、よりコアレベルの基礎クラスでは後者の規則を目にしますが、他の誰もが最初の規則を使用しているようです。Objective-C ランタイムは、型指定されていないメソッドまたはパラメーターが を返すと推測するためid
、なぜそれを含める必要があるのでしょうか? 読書の流れを壊していませんか?
開発者がこの規則を使用することで起こりうる問題について考えていることを知りたいだけでなく、それが単に奇妙だと思うかどうかも知りたいですか?