gpt4 book ai didi

ios - 如何比较不区分大小写的 NSRange ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:30:45 27 4
gpt4 key购买 nike

我写了一个在地址簿中搜索人的方法,我希望即使调用方法[someAdressBook searchName:@"joh"];也能找到“john bigs”;.

我的方法适用于全名,但我在部分名称中遇到问题,这是我的代码:

-(NSMutableArray *) searchName:(NSString *) someName{

NSRange range;

NSMutableArray *results = [[NSMutableArray alloc] init];

for (AddressCards *addressCard in book)
{
if (someName != nil && [someName caseInsensitiveCompare:addressCard.name] == NSOrderedSame)
[results addObject:addressCard.name];

else {
range = [addressCard.name rangeOfString:someName];
if (range.location != NSNotFound)
[results addObject:addressCard.name];
}
}

NSLog(@"%@", results);

return results;
}

请帮我解决这个问题。

最佳答案

您可以使用 -[NSString rangeOfString:options:] 以不区分大小写的方式进行搜索,这样您就可以一步完成:

for (AddressCards *addressCard in book)
{
if ([addressCard.name rangeOfString:someName options:NSCaseInsensitiveSearch].location != NSNotFound)
{
[results addObject:addressCard.name];
}
}

关于ios - 如何比较不区分大小写的 NSRange ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15213671/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com