Obj-C は C/C++ のように値、参照、およびアドレスによって値を返しますか? これに関するいくつかのドキュメントを提案してもらえますか?
3 に答える
Objective-C (Objective-C++ ではない) のすべては、値によって渡されるだけでなく、値によって返されます。
覚えておくべき重要なことはNSString *
、たとえば、戻り値がある場合、戻り値は依然として値によるものであることです。返されるのは、オブジェクトではなく、オブジェクト ポインターです。そしてポインタは値で返されます。
一般に、適切であればオブジェクトへのポインターによって行われますが、スカラー値は問題なく合法です。
おそらくObjective-c ++を除いて、参照による戻りは合法ではありません。しかし、私は知りません。
メソッドでは、戻り値の型は括弧内の +/- の後の部分です...
-(int)count;
int を返す count というメソッドになります。
Objective-C は、値によるパラメータの受け渡しをサポートしています。
Obj-c は C のスーパーセットなので、C のすべての機能がここにあります。
メソッドに値を渡すときはいつでも、その値を渡します。参照渡しを行うケースはほとんどありませんが、簡単な例として**error
.
したがって、呼び出されたメソッドまたはサブクラスのオブジェクトの値を変更してint
もNSObject
、呼び出し先メソッドの値には反映されません。オブジェクト自体ではなく、オブジェクトへのポインターを送信します