同じアプリケーションに 2 つのメソッドがあります
最初は分数クラスにあります
-(Fraction *) divide: (Fraction *) f
{
Fraction *result = [[Fraction alloc] init];
result.numerator = numerator * f.denominator
[result reduce];
return result;
}
2番目は電卓クラスにあります
-(Fraction *) performOperation: (char) op
{
Fraction *result;
switch (op) {
case '+':
result = [operand1 add: operand2];
break;
.
.
.
.
etc
break;
}
accumulator.numerator = result.numerator;
accumulator.denominator = result.denominator;
return accumulator;
}
最初のメソッドでは *result インスタンス変数を割り当てて初期化する必要があるのに、2 番目のメソッドでは必要ないのはなぜですか? 別のメソッド [result reduce] を呼び出しているためですか、それとも値を返しているためですか? または、他の何か?2 番目の方法は、メモリの初期化や作成を行わずに、Fraction 型の一時変数の結果をインスタンス化するだけのようです。
ありがとう