У меня есть следующий метод, который должен создать идентификатор из 20 символов (иногда с префиксом) и вернуть идентификатор.
Кажется, он сбрасывается при запуске, и каждый раз, когда я его использую, он создает одну и ту же последовательность идентичных номеров.
+(NSString *)createUniqueIdentifier:(NSString *)withPrefix {
NSString *outstring = nil;
if (withPrefix!=nil && ![withPrefix isEqualToString:@""]) {
outstring = [withPrefix stringByAppendingString:@"-"];
} else {
outstring = @"";
}
NSInteger ii;
NSString *allletters = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (ii=0; ii<20; ii++) {
outstring = [outstring stringByAppendingString:[allletters substringWithRange:[allletters rangeOfComposedCharacterSequenceAtIndex:random()%[allletters length]]]];
}
return outstring;
}
Я предполагаю, что это как-то связано с random()
, но я не знаю, что еще использовать. Я думаю, что я даже получил это предложение от переполнения стека.
Спасибо за любую помощь!