L'utilisation de (id) en Objective-C

J'ai une fonction que je veux faire fonctionner sur deux différents objets personnalisés. Ma première pensée a été d'accepter l'argument (id) et d'opérer sur l'id de l'objet. Je ne peux pas tout à fait semblent de comprendre comment le faire, cependant.

Les deux classes (dit des pommes et des oranges) ont d'interface variables:

NSDecimalNumber *count;

Je veux faire quelque chose de similaire à ceci:

-(NSDecimalNumber*)addCount:(id)addObject{

    return [count decimalNumberByAdding:addObject.count];
}

Je n'arrive pas à trouver la syntaxe pour faire qui se produisent. Est-ce la bonne approche, ou serait-il préférable de sous-classe (par exemple un fruit de la classe) et d'opérer sur la classe parent?

-(NSDecimalNumber*)addCount:(Fruit*)addFruit{

    return [count decimalNumberByAdding:addFruit.count];
}

OriginalL'auteur Jason George | 2009-07-30