【问题标题】:How to generate random string in Objective C based on core data values如何根据核心数据值在 Objective C 中生成随机字符串
【发布时间】:2014-06-18 22:13:33
【问题描述】:

我正在使用情节提要和核心数据开发一个 iPad 应用程序。对于我的应用程序,我需要在单击按钮时生成一个随机字符串,例如“M000142140502343524”,这些字符串在“tableA”的“数据”字段中尚不存在。

【问题讨论】:

  • 那个字符串有多像?例如,它可以是一个 UUID 字符串吗?
  • M000142140502343524 这是表A的数据字段中已经存在的一个字符串。像这个字符串一样,数据字段中已经保存了30000多个字符串。我需要在每次单击按钮时生成随机字符串.但条件是它类似于数据字段中的字符串但不完全相似,因为数据字段是唯一的。
  • 您可以使用一次唯一的时间戳

标签: ios objective-c ipad core-data nsstringencoding


【解决方案1】:

生成唯一字符串的常用方法是

NSString *UUID = [[NSUUID UUID] UUIDString];

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;
}

【讨论】:

    【解决方案2】:

    您可以像这样生成唯一标识符 (UUID):

    NSString *randomUUIDString = [[NSUUID UUID] UUIDString];

    【讨论】:

      【解决方案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];
      

      【讨论】:

      • M000 + 随机字符串在这里我需要基于今天的随机字符串...yyyymmddhhmmss ....like 20140502034855....2014 年...05 月...02 天... .03 小时....48 分钟...55 秒(当前时间..)
      • 谢谢 Sunny Shah。它正在工作。我会将您的答案标记为正确答案。
      猜你喜欢
      • 2013-01-02
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 2011-05-20
      相关资源
      最近更新 更多