私は Objective-C を学んでおり、Vector3D クラスを作成しようとしています。
C++ または Java では、実装したい関数は次のようになります。
Vector3D
{
Vector3D crossProduct(Vector3D in)
{
Vector3D result;
result = ... // maths involving this classes variables and the input Vectors variables.
return result;
}
}
現在、objective-c ではオブジェクトを返すことはできず、オブジェクト ポインターのみを返すことができます。これは autorelease を使用する適切な場所でしょうか (戻る前に?)。これにより、Vector3D クラスのメソッドを連鎖させることができます (多くのメソッドがオブジェクト自体を返すため) が、オブジェクトを手動で割り当てて解放するのに比べて、これは特に非効率的でしょうか? Objective-C でオブジェクトを返すために使用される他の一般的なパターンはありますか?
クラスでやりたい操作の例:
Vector3D * vector3D1 = [[Vector3D alloc] init];
Vector3D * vector3D2 = [[Vector3D alloc] init];
Vector3D * vector3D3 = [vector3D1 cross [ [vector3D2 normalize ] multiply 1.43f]];
ありがとう。