выбор случайного изображения из строки, расположенной в массиве с циклом for - PullRequest
0 голосов
/ 05 февраля 2012

Я хочу что-то написать, но понятия не имею, как это сделать и с чего начать.

Итак, у меня есть массив под названием imagesArray, который содержит, например, 20 изображений животных, скажем, что 5 первых изображений массива будут изображениями: Rabbit.png, Horse.png, Lizard.png, Mouse.png и Dog.png.

Так что в массиве, который называется wordsArray, я буду иметь элементы в диапазоне индекса 0-4: «Кролик», «Лошадь», «Ящерица», «Мышь» и «Собака» и так далее ...

Также у меня 4 UIButtons.

Я хочу, чтобы программа работала, когда цикл for включен item0, что означает, что i=0, изображение из imagesArray - это Rabbit.png, а слово из wordsArray - "Кролик", я хочу выберите случайную букву из слова «Кролик» и отобразите ее один раз на одной из 4 UIButton с, остальные 3 UIButton с отобразят любые другие буквы, кроме разных букв.

Я все еще не нашел хорошего способа сделать это. возможно, потому что я вроде как новичок в Objective-C или программировании вообще

Как мне это сделать?

РЕДАКТИРОВАТЬ

У меня есть этот код, но он не очень хорош, потому что он работает с UIImages вместо слов, и я не знаю, как это сделать со словами ..

-(void)placeWordAndPictueOnScreen
{
    // sets the letter in a random button
    NSMutableArray * ButtonArray = [[NSMutableArray alloc]initWithObjects:btnLetter1,btnLetter2,btnLetter3,btnLetter4, nil];
    int CorrectImg = random() % [ButtonArray count];
    imgclick = CorrectImg;
    UIImage * img = [UIImage imageNamed:[LettersArray objectAtIndex:imgcounter]];

    UIButton * btn = [ButtonArray objectAtIndex:CorrectImg];
    [btn setImage:img forState:UIControlStateNormal];
    [ButtonArray removeObjectAtIndex:CorrectImg];

    // sets the other buttons with random letters
    while ([ButtonArray count] != 0)// how many times u want to run this
    {
        int imgRand = random() % [LettersArray count]; //number for random image
        int btnRand = random() % [ButtonArray count]; //number for random button
        //get that random image
        UIImage * img = [UIImage imageNamed:[LettersArray objectAtIndex:imgRand]];
        //get that random button
        UIButton * button = [ButtonArray objectAtIndex:btnRand];
        //put image on that button
        [button setImage:img forState:UIControlStateNormal];
        [ButtonArray removeObjectAtIndex:btnRand];
    }
}

1 Ответ

1 голос
/ 05 февраля 2012

Я верю, что следующий метод поможет вам

    -(NSMutableArray *)getStringInArray:(NSString *)string{
    NSMutableArray *charsArray=[[NSMutableArray alloc]init];
    while (![string isEqualToString:@""]) {
        [charsArray addObject:[string substringToIndex:1]];
        string=[string substringFromIndex:1];
    }
    return [charsArray autorelease];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...