2011-04-09 20 views
23

Estoy tratando de obtener un generador de números aleatorios que funcione en el iPhone. Hay dos campos de texto, una etiqueta y un botón. Ingrese el número mínimo en un campo de texto y el máximo en el siguiente. Al hacer clic en el botón, se mostrará el número aleatorio en UILabel. Lo hice una vez antes y hoy no lo puedo entender por mi vida. Cualquier código o lugares que pueda visitar para descubrir esto sería fantástico.¿Generar un número aleatorio dentro del rango en iOS?

Gracias

Respuesta

94
NSString *min = myMinTextField.text; //Get the current text from your minimum and maximum textfields. 
NSString *max = myMaxTextField.text; 

int randNum = rand() % ([max intValue] - [min intValue]) + [min intValue]; //create the random number. 

NSString *num = [NSString stringWithFormat:@"%d", randNum]; //Make the number into a string. 

[myLabel setText:num]; // Give your label the value of the string that contains the number. 

Actualización:

Parece que es probable que sea mejor utilizar arc4random en contraposición a rand se puede ver mas sobre esto here. Simplemente reemplace todos los rand s con arc4random

+0

¡Lo recuerdo ahora! Así fue exactamente como lo hice. Gracias a un millón – Frankrockz

+10

Opino 'arc4random()' para generar números aleatorios. Solo mis 2 centavos. –

+0

Parece que no puedo hacer que arc4random trabaje para mí. No sé por qué. De todos modos, muchas gracias – Frankrockz

23
#include <stdlib.h> 

int randomNumber = min + rand() % (max-min); 
Cuestiones relacionadas