Tengo un nivel de clase int definido en mi archivo de encabezado. En el archivo .m, tengo un método que me gustaría tomar un parámetro int, modificarlo y tener el valor modificado reflejado en la persona que llama. Por ejemplo:Pasando número entero por referencia
classLevelInt = 2;
[self someMethod:classLevelInt];
//Here, I'd like classLevelInt to equal the value assigned to it in the method
En -someMethod:
- (void)someMethod:(int)anInt{
//do some stuff
if(somecondition){
anInt = 2 + 3; //some operation
}
}
He intentado usar un
- NSNumber
- Puntero de un puntero (**)
- conversión de int a NSNumber dentro del método, lo que da como resultado un nuevo espacio de direcciones
pero nunca vea el valor establecido dentro del método para classLevelInt reflejado fuera de ese método. Sin devolver el nuevo valor int de -someMethod, ¿cómo puedo mantener el valor de classLevelInt fuera del método? O, si eso simplemente no es un buen enfoque, ¿cuál es la mejor manera?
Simplemente iba a responder lo mismo. ¡gran respuesta! –
Requiere desreferencia del puntero. ¿Cómo se usa la sintaxis como (int &) anInt? – jjxtra