得到10个最大ios限制的随机字符串?

时间:2014-12-12 08:41:37

标签: iphone

生成随机字符串,它包含alpha数字值。事情是我需要设置正好10个数字来存储在一个特定的字符串中,有时我得到10个数字,但大部分时间我得到4,5,7,甚至1个字符值:

这里是我的示例代码:

 NSString *alphabet  = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY0123456789";
 NSMutableString *s = [NSMutableString stringWithCapacity:10];
 for (NSUInteger i = 0; i < 10; i++) {
    u_int32_t r = arc4random() % [alphabet length];
    unichar c = [alphabet characterAtIndex:r];
    [s appendFormat:@"%C", c];
    NSLog(@"%@",s);
}

我的nslog:     ÿ

YC

的yCD

yCDC

yCDCd

yCDCdP

yCDCdP1

yCDCdP1F

yCDCdP1Fg

yCDCdP1Fgq

2 个答案:

答案 0 :(得分:1)

您已将NSLog置于for循环内。这可能会让你觉得这是错的。取

NSLog(@"%@",s);

离开循环。

答案 1 :(得分:1)

代码没有问题。

只是,将NSLog(@"%@",s);放在for循环之外。