Я разрабатываю одно приложение для iPad, используя раскадровку и основные данные. Для моего приложения мне нужно сгенерировать одну случайную строку, например «M000142140502343524», которой еще нет в поле «данные» таблицы «Таблица А» при нажатии кнопки.
Как сгенерировать случайную строку в Objective C на основе значений основных данных
comment
Насколько похожа эта строка? Например, может ли это быть строка UUID?
- person Droppy   schedule 02.05.2014
comment
проверьте это -›stackoverflow.com /вопросы/2633801/
- person Mohit   schedule 02.05.2014
comment
M000142140502343524 это одна строка уже в поле данных таблицы. Как и эта строка, в поле данных уже сохранено более 30000 строк. Мне нужно генерировать случайную строку при каждом нажатии кнопки. Но условия таковы, что это что-то похожи на строки в поле данных, но не совсем похожи, потому что поле данных уникально.
- person user3564078   schedule 02.05.2014
comment
Вы можете использовать временную метку, которая будет уникальной в каждый момент времени.
- person Sunny Shah   schedule 02.05.2014
Ответы (3)
Это сгенерирует случайный ключ
NSTimeInterval today = [[NSDate date] timeIntervalSince1970];
NSString *intervalString = [NSString stringWithFormat:@"%f", today];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[intervalString doubleValue]];
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyyMMddhhmm"];
NSString *strdate=[formatter stringFromDate:date];
person
Sunny Shah
schedule
02.05.2014
M000 + случайная строка, здесь мне нужна случайная строка, основанная на сегодня...ггггммддччммсс....например, 20140502034855....2014 год...05 месяц...02 день....03 час....48 минут ...55 секунд(текущее время..)
- person user3564078; 02.05.2014
Спасибо, Санни Шах. Это работает. Я отмечу ваш ответ как правильный.
- person user3564078; 02.05.2014
Обычный способ создания уникальной строки:
NSString *UUID = [[NSUUID UUID] UUIDString];
or
NSString *identifier = [[NSProcessInfo processInfo] globallyUniqueString];
Но вы также можете создать такую строку самостоятельно. Например:
+ (NSString *)createRandomName
{
NSTimeInterval timeStamp = [ [ NSDate date ] timeIntervalSince1970 ];
NSString *randomName = [ NSString stringWithFormat:@"M%f", timeStamp];
randomName = [ randomName stringByReplacingOccurrencesOfString:@"." withString:@"" ];
return randomName;
}
person
Avt
schedule
02.05.2014
Вы можете сгенерировать уникальный идентификатор (UUID) следующим образом:
NSString *randomUUIDString = [[NSUUID UUID] UUIDString];
person
aslisabanci
schedule
02.05.2014