如何在Objective-C中生成随机小写字母?

时间:2012-08-21 17:01:30

标签: objective-c random

我是语法新手,所以这就是我需要帮助的地方。从概念上讲,我明白了。但语法对我来说很陌生。

4 个答案:

答案 0 :(得分:9)

这是一种简洁的方法:

- (char)getRandomChar {
    return (char) (arc4random_uniform(26) + 'a');
}

这假设您想要'a'到'z',而没有任何带有变音符号的字母,例如å,ä,á等。

将字符作为NSString返回:

- (NSString *)getRandomCharAsNString {
    return [NSString stringWithFormat:@"%c", arc4random_uniform(26) + 'a'];
}

答案 1 :(得分:3)

我会创建一个字符串“abcdefg ...”并在随机位置获得一个字符长的子字符串。
像这样:

NSString *letters = @"abcdefghijklmnopqrstuvwxyz";
NSInteger index = arc4random_uniform([letters length]);
NSString *randomLetter = [letters substringWithRange:NSMakeRange(index, 1)];

答案 2 :(得分:1)

Objective-c是C的超集,意味着您只能使用有效的C代码。

-(char)getRandomChar
{
     char test[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
     int r = arc4random() % 26;
     NSLog(@"%c", test[r]);
     return test[r];
}

答案 3 :(得分:-1)

看起来不错

NSLog(@"%c",'a'+ rand() % 26);