2

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

4

4 回答 4

9

这是一个简洁的方法:

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

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

要将字符作为 NSString 返回:

- (NSString *)getRandomCharAsNString {
    return [NSString stringWithFormat:@"%c", arc4random_uniform(26) + 'a'];
}
于 2012-08-21T17:25:04.440 回答
3

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

NSString *letters = @"abcdefghijklmnopqrstuvwxyz";
NSInteger index = arc4random_uniform([letters length]);
NSString *randomLetter = [letters substringWithRange:NSMakeRange(index, 1)];
于 2012-08-21T17:11:24.897 回答
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];
}
于 2012-08-21T17:14:08.267 回答
-1

这看起来不错的样子

NSLog(@"%c",'a'+ rand() % 26);
于 2013-11-27T14:14:58.460 回答