Hice una pregunta similar, pero no pude hacerlo funcionar exactamente. Estoy construyendo una aplicación para iPhone, y hay un método que quiero invocar desde diferentes archivos. Pensé que la manera más sencilla sería simplemente hacer un método en otro archivo y llamar al método desde los otros archivos.Devolviendo múltiples valores desde un método en Objective-C
Aquí hay algunos problemas. Necesito devolver varios valores del método, después de pasarle múltiples valores. Por ejemplo, lo estoy pasando: (int, int, int, string, string)
. Y necesita devolver todos esos valores, después de que hayan sido cambiados. Alguien me mostró este código:
- (NSDictionary *)EndOfTurn:(int)varTurns withFatness:(int)varFatness
{
varTurns--;
if (varTurns <= 0) {
varFatness = varFatness - 5;
}
else {
varFatness += 2;
}
return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:varFatness], @"FATNESS", [NSNumber numberWithInt:varTurns], @"TURNS", nil];
}
Sin embargo, este código no funciona, y necesito más información para comprender realmente ella. Vamos a asumir que estoy pasándolo a estos valores:
int varMoney;
int varNumSheep;
int varNumShepherds;
NSString *test1;
NSString *test2;
por eso es necesario para conseguir todos estos valores de nuevo a partir del método.
¿Cómo declaro esto en el archivo de encabezado? Esto debería estar en un archivo Objective-C, pero podría darme el código para todo el archivo para que pueda ver dónde iría con el @implementation
y @end
, whatnot. Además, ¿cómo llamaría a este método?
quisiera señalar que 'withFatness' es una pieza increíble de una función. – Malaxeur
también deberá conservar el resultado de esta función. Como el diccionario que está devolviendo proviene de un método práctico, se libera automáticamente y desaparecerá en breve si no se conserva. es decir, cuando lo llame, haría algo como esto: NSDictionary * myDic = [auto EndOfTurn: turnswithFatness: fatness]; [myDic retain]; –
y luego [lanzamiento de myDic]; cuando estás bien y terminado con eso. –