Методы вычислений, которые вы используете в своем классе аккумуляторов, вероятно, сейчас выглядят примерно так:
- (void)add:(float)aFloat {
result += aFloat;
NSLog(@"%f", result);
}
Этот метод в своем текущем состоянии ничего не возвращает (void).Текущий итог выводится только на экран.Это хорошо для упражнения, но в реальных программах результат вычисления, вероятно, будет не очень полезным, если он будет отображаться на экране.Вместо этого вы, вероятно, захотите сделать что-то еще с результатом, поэтому вы хотите, чтобы метод его возвращал.Например, класс NSString
имеет метод length
.Этот метод не был бы очень полезен, если бы он печатал длину строки на экране.Вместо этого он возвращает длину, поэтому программа может сделать что-то полезное с этим значением (например, проверить правильность длины строки):
int length = [tweet length];
if (length > 140) {
// display a useful error message
...
} else {
// tweet it :)
...
}
Чтобы изменить методы калькулятора длячтобы вернуть что-то, вам (а) придется изменить сигнатуру метода, чтобы она возвращала значение, и (б) чтобы фактически вернуть это значение.
В сигнатуре метода просто измените тип возвращаемого значения на что-то другоенедействительным.В вашем примере правильным типом, вероятно, будет float (или любой другой тип, который калькулятор использует внутри для своего текущего результата).
- (float)add:(float)aFloat {
...
}
Чтобы фактически вернуть текущее значение, вы должны добавить оператор return
добавьте конец вашего метода (перед закрытием }
)
return result;
(предполагается, что result
- переменная экземпляра, содержащая текущий результат вычисления).