2011-02-03 4 views
1

Я пытаюсь создать массив, содержащий х количество литеральных строк, которые будут случайно отправляться в UILabel после того, как вы нажмете UIButton.Случайный текст, отправленный в UILabel

Как я должен структурировать файлы .h и .m для этого? Также, каков наилучший способ генерации случайного числа, которое мне нужно?

+0

Вы не задали вопрос. –

+4

он явно спрашивает, как это сделать. Здравый смысл. –

ответ

1

Вы бы получить случайное число для индекса, а затем просто передать объект, который вы получите в текст имущества UILabel в, например:

//assuming you already have an NSArray of strings 
myLabel.text = [arrayOfString objectAtIndex:arc4random() % [arrayOfString count]]; 

Вы бы поставить выше код в методе, что кнопка когда он нажат.

EDIT: As requested here's a simple Xcode project.

(ПРИМЕЧАНИЕ. Поскольку это случайность, есть вероятность, что вы получите тот же текст, чтобы могло показаться, что текст не изменяется, но он меняется на тот же текст, перед которым вы не видите)

+0

Благодарим вас обоих, у меня есть довольно хорошая идея о логике, но мне трудно получить правильный синтаксис в .h, .m и разместить IB Elements. Если это не так много, может ли кто-нибудь опубликовать очень простой/общий проект Xcode, чтобы я мог его вскрыть? Спасибо, что так сильно. Очень любопытный/амбициозный нум. –

+0

@hey_suburbia, я загрузил простой Xcode, который я сделал, чтобы показать соединения, я отредактировал свой ответ, чтобы включить ссылку на него. –

+0

Большое спасибо Джонатану. На ранних этапах объектива-c и Xcode мои мысли, помещенные в рабочий файл для меня, - это бесценные инструменты обучения, я очень ценю ваше время и помощь! –

0
- (void) applicationDidFinishLaunching:(UIApplication*)application 
{ 
    //Create window 
    _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    [_window makeKeyAndVisible]; 
    sampleArray = [[NSArray arrayWithObjects: @"iPhone", @"iPod", @"iMac", @"Newton",@"iPad",@"Lisa",@"Mac mini",@"Delta" ,nil] retain]; 
    randButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; 
    [randButton setFrame:CGRectMake(20.0f, 30.0f, 60.0f, 40.0f)]; 
    [randButton setTitle:@"Random" forState:UIControlStateNormal]; 
    [randButton addTarget:self action:@selector(randNumberGenerate) forControlEvents:UIControlEventTouchUpInside]; 
    [_window addSubview:randButton];  
} 


- (void) randNumberGenerate 
{ 
    NSString* string = [sampleArray objectAtIndex:(arc4random()%[sampleArray count])]; 
    UILabel* displayRandNum = [[UILabel alloc] initWithFrame:CGRectMake(120.0f, 30.0f, 80.0f, 30.0f)]; 
    displayRandNum.text = string; 
    [_window addSubview:displayRandNum]; 
    [displayRandNum release]; 
} 
+0

Спасибо вам, я неплохо разбираюсь в логике, но мне трудно получить правильный синтаксис в .h, .m и разместить элементы IB. Если это не так много, может ли кто-нибудь опубликовать очень простой/общий проект Xcode, чтобы я мог его вскрыть? Спасибо, что так сильно. Очень любопытный/амбициозный нум. –

+0

@hey_suburbia Вы можете получить код отсюда: http://www.mediafire.com/?pcbe9d7f6jqps5n – 0x8badf00d

+0

Спасибо, MacDev! Это означает, что на ранних этапах моих занятий мне нужно иметь руководство. Ура! –

Смежные вопросы