Tutorial SDK iphone/ipad: Números ALEATORIOS (Random)

Para dar las gracias debes entrar o registrarte en el foro

iMiembro 2G
iMiembro 2G
Mensajes: 36 Agradecido: 5
07 Oct 2010, 13:18# 1

Bien en este post voy a explicar como conseguir números aleatorios y asignarselos a una Etiqueta (UILabel)

Antes que nada si veis cualquier fallo, mejora o corrección, espero no dudeis en decirlo para que así todos(yo el primero) podamos aprender en este arduo trabajo que es la programación en objective-c para iphone/ipad T_T.

Bien una vez hayamos creado nuestro proyecto y hayamos puesto en el Interface Builder una etiqueta (UILabel) y un botón (UIButton). Tendremos que definir los objetos en nuestro código fuente.

Recordar que los objetos que vayamos a usar se definen en la cabecera .H y en el .m definimos el como va a funcionar.

.h

Código: Seleccionar todo
//Definimos los objetos a utilizar
IBOUTLET UILabel *Etiqueta;
IBOUTLET UIButton *Boton;

//Definimos tambien un metodo que nos permitira que al pulsar el Boton automáticamente el label nos muestre un número aleatorio del 1 al 10.

-(IBACTION)MostrarAleatorio:(id)sender;


Ahora en el .m tendremos que definir que va a realizar que hará nuestra función MostrarAleatorio

.m

Código: Seleccionar todo
-(IBACTION)MostrarAleatorio:(id)sender;

{
        //Definimos Variable numérica
        NSInteger Valor;
        //Asignaremos a la variable Valor el numero aleatorio gracias a esta función:
        //Despues del porcentaje ponemos el numero 10 porque queremos un numero entre el 1 y el 10, por eso al final de la función del arc4random le añadimos un +1, ya que sino nos haria un numero aleatorio entre 0 y 10 y no queremos que nos muestre cero.
        Valor= ([b]arc4random() % 10[/b]) +1
     
         //Asignamos el resultado a la etiqueta que hemos creado (UILabel)
         Etiqueta.text=[NSString [b]initWithFormat[/b]:@"%i", Valor]
}


Bien pues esto es todo, recordar que la función que queria que vieseis es la de arc4random.


Importante:

Todo lo que escribo lo hago totalmente de cabeza, ya que lo posteo desde el curro :punk: y en el curro no tengo mac, así que es posible que se me olviden cosas y que algunas me las invente emo:-:20

Por ello cualquier corrección será bienvenida.

Saludos.
Última edición por elcura el 13 Oct 2010, 13:19, editado 2 veces en total
Gracias  
1 persona ha dado las gracias: Akuario
Etiquetado en:
iMiembro 2G
iMiembro 2G
Mensajes: 29 Agradecido: 2
12 Oct 2010, 01:39# 2

Uhmm

me da fallo aquí:

Etiqueta.text=[NSString initWithString:@"%i%", Valor];

Me dice "NSString may not respond to +initWithString"

pd: Ya lo he solucionado he cambiado lo de arriba por:

Etiqueta.text = [NSString initWithFormat:@"%d", Valor];

Gracias  
iMiembro 2G
iMiembro 2G
Mensajes: 36 Agradecido: 5
13 Oct 2010, 13:18# 3
ghotic escribió:Uhmm

me da fallo aquí:

Etiqueta.text=[NSString initWithString:@"%i%", Valor];

Me dice "NSString may not respond to +initWithString"

pd: Ya lo he solucionado he cambiado lo de arriba por:

Etiqueta.text = [NSString initWithFormat:@"%d", Valor];



Efectivamente Ghotic, falla pq yo me cole al escribir la instrucción, como tu bien has dicho es initWithFormat. Ahora corrijo el post principal.

P.D.: Es lo que tiene escribir sin tener un mac a mano :P

P.D.2: Gracias Ghotic por la corrección.

Saludos.
Gracias  
iMiembro
iMiembro
Mensajes: 2 Agradecido: 0
27 Dic 2010, 22:15# 4

Buenas tardes, dudo mucho que funcione el código tal y como está, falta algo para que no de error.

Un saludo

Gracias  
iMiembro 2G
iMiembro 2G
Mensajes: 36 Agradecido: 5
31 Dic 2010, 13:35# 5
Ral3000 escribió:Buenas tardes, dudo mucho que funcione el código tal y como está, falta algo para que no de error.

Un saludo



Queda muy pedante, decir lo que dices, y no aportar al menos que es lo que falta para que no de error.

Pero aún así, en este ejemplo sólo se indica la forma para obtener el valor aleatorio nada más. Otra cosa es que no sepas extrapolar la información que aquí se indica.
Gracias  