我是语法新手,所以这就是我需要帮助的地方。从概念上讲,我明白了。但语法对我来说很陌生。
答案 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);