énoncé du problème de base:Comment faire pointer le travail avec les méthodes d'accès à Objective-C
J'ai une très bonne raison pour faire quelques fanciness pointeur dans une application où je dois passer une décimale par référence.
J'ai donc une classe qui stocke beaucoup un nombre décimal, alors disons une propriété est a en tant que tel:
@property (nonatomic) double myDecimalValue;
Je veux transmettre par référence à une autre classe.
[someOtherObject sendMyDecimalByReference:&myDecimalValue];
Mais, un problème se dégage! La façon dont a fait à écrire (parce qu'il est une propriété) est
[someOtherObject sendMyDecimalByReference:&decimalOrigin.myDecimalValue];
Cela ne peut pas compiler en c objectif
Je contourner en écrivant ce qui suit
- (double *) myDecimalValueRef;
[someOtherObject sendMyDecimalByReference:[decimalOrigin myDecimalValue]];
Sauf J'ai des dizaines de ces décimales et je ne veux pas écrire cette fonction d'emballage stupide pour chaque valeur.
Existe-t-il un raccourci pour faire cela en Objective-C en utilisant seulement les fonctions Getter? Supposons simplement que j'ai une bonne raison de ne pas utiliser NSNumber.
Merci!
Votre '(double *)' solution est la meilleure, mais il semble que vous essayez de travailler autour d'un défaut de conception fondamentale. – trojanfoe
Je travaille autour d'un défaut de conception fondamentale ... :) –
Bien le repenser; ça va te faire te sentir mieux ;-) – trojanfoe