Bu kodu kullanarak dize değerlerini karşılaştırabiliyorum.Büyük/küçük harf duyarlı NSString karşılaştırması
Ancak bu, büyük küçük harf duyarlılığıyla karşılaştırır. Dizeyi duyarsızlık olmadan karşılaştırmanın bir yolu var mı?
Bu kodu kullanarak dize değerlerini karşılaştırabiliyorum.Büyük/küçük harf duyarlı NSString karşılaştırması
Ancak bu, büyük küçük harf duyarlılığıyla karşılaştırır. Dizeyi duyarsızlık olmadan karşılaştırmanın bir yolu var mı?
NSString
üzerinde caseInsensitiveCompare:
yöntemi var, neden the documentation okumuyorsunuz? yöntem NSComparisonResult
döndürür:
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
... ah, üzgünüm, sadece şimdi sana harf duyarlı eşitlik için soruyorsunuz fark etti. (Neden şu soruyu okumadım? :-) Varsayılan isEqual:
veya isEqualToString:
eşitliği zaten büyük/küçük harfe duyarlı olmalı, ne veriyor?
Aslında isEqualToString: büyük/küçük harfe duyarlılık ile çalışır. olarak: kodudur
[elementName isEqualToString: @"Response"];
sonra burada karşılaştırmak duyarsız durumda sormak istiyorum:
Sen küçük veya büyük harfe karşılaştırılabilir dize hem değiştirebilir ve aynı karşılaştırabilirsiniz:
NSString *tempString = @"Response";
NSString *string1 = [elementName lowercaseString];
NSString *string2 = [tempString lowercaseString];
//The same code changes both strings in lowerCase.
//Now You Can compare
if([string1 isEqualToString:string2])
{
//Type your code here
}
Bir dizeyi, küçük harf veya büyük harf olup olmadığına bakmadan karşılaştırmak zorunda olduğunuz kod:
if ([elementName caseInsensitiveCompare:@"Response"]==NSOrderedSame)
{
// Your "elementName" variable IS "Response", "response", "reSPonse", etc
//
}
NSString *string1 = @"stringABC";
NSString *string2 = @"STRINGDEF";
NSComparisonResult result = [string1 caseInsensitiveCompare:string2];
if (result == NSOrderedAscending) {
NSLog(@"string1 comes before string2");
} else if (result == NSOrderedSame) {
NSLog(@"We're comparing the same string");
} else if (result == NSOrderedDescending) {
NSLog(@"string2 comes before string1");
}
+1 - Pek çok kullanışlı yöntem, sınıf referans belgelerini okumak için çok az zaman harcadı. :-) –
Her zaman daha iyi bir yolun "neden belgeleri okuyorsun?" Diyebileceğine inanıyorum, cevabınız için teşekkürler btw. – ersentekin