如何比较两个ID

时间:2013-05-08 08:19:41

标签: ios objective-c uuid

我有两个ID

85816465-FA7B-48B1-8AD3-7FB0A1B6C011 - 85816465-fa7b-48b1-8ad3-7fb0a1b6c011

如您所见,它们几乎相同,但存在差异)

85816465-FA7B-48B1-8AD3-7FB0A1B6C011此代码我是用这段代码编译的

   CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
   NSString * uuidString = (__bridge NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
   CFRelease(newUniqueId);

之后将其插入数据库(Postgres)并将数据库转换为此

85816465-fa7b-48b1-8ad3-7fb0a1b6c011

当我选择此插入的ID并尝试将其与旧版本进行比较时,Xcode会告诉我它们不相等... 有什么建议吗?

3 个答案:

答案 0 :(得分:1)

当您比较字符串时,如果这是使用方法

的唯一差异,则将它们转换为大写字母
uuidString=[uuidString uppercaseString];

答案 1 :(得分:0)

请尝试使用这个...我希望它可以帮到你

NSString *str1 = @"85816465-FA7B-48B1-8AD3-7FB0A1B6C011";
NSString *str2 = @"85816465-fa7b-48b1-8ad3-7fb0a1b6c011";

str1 = [str1 stringByReplacingOccurrencesOfString:@"-" withString:@""];
str2 = [str2 stringByReplacingOccurrencesOfString:@"-" withString:@""];

if( [str1 caseInsensitiveCompare:str2] == NSOrderedSame )
    NSLog(@"ITS EQUAL");
else
    NSLog(@"ITS NOT EQUAL");

答案 2 :(得分:0)

试试这个

    NSRange r = [udidstring1 rangeOfString:udidstring2 options:NSCaseInsensitiveSearch];

    if(r.location != NSNotFound)
    {
         NSLog(@"Both UDID are same");
    }

或者你可以试试这个

    if ([udidstring1 caseInsensitiveCompare:udidstring2]==NSOrderedSame) {
            NSLog(@"Both UDID are same");
    }