Yes, methods can be called from within other methods. To call a method from the same object, use the self declaration:

-(void) add: (Fraction *) f{

numerator = numerator * f.denominator + f.numerator * denominator;

denominator *= f.denominator;

[self reduce];

}

You can also call methods to apply to other objects, like so:

-(Fraction *) add: (Fraction *) f{

Fraction *result = [Fraction new];

result.numerator = numerator * f.denominator + f.numerator * denominator;

result.denominator = denominator * f.denominator;

[result reduce];

return result;

}

More experienced members may have more detailed answers or better examples.

Jim