[ios] 목적 C의 string 형 배열에서 문자열 검색

객관적인 c의 문자열 배열에서 특정 문자열을 검색하고 싶습니다. 누군가가 이와 관련하여 나를 도울 수 있습니까?



답변

BOOL isTheObjectThere = [myArray containsObject: @"my string"];

또는 그것이 어디에 있는지 알아야 할 경우

NSUInteger indexOfTheObject = [myArray indexOfObject: @"my string"];

NSArray에 대한 문서 를 읽을 것을 강력히 권장합니다 . 질문을 게시하기 전에하는 것이 가장 좋습니다. 🙂


답변

NSPredicate 클래스를 사용하여 문자열 배열에서 문자열을 검색 할 수 있습니다. 아래 샘플 코드를 참조하십시오.

NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Maruthi",@"Hyundai", @"Ford", @"Benz", @"BMW",@"Toyota",nil];

NSString *stringToSearch = @"i";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",stringToSearch]; // if you need case sensitive search avoid '[c]' in the predicate

NSArray *results = [cars filteredArrayUsingPredicate:predicate];

이것은 문자열 배열에서 문자열을 검색하는 가장 효율적인 방법입니다.


답변

NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Max",@"Hai", @"Fine", @"Bow", @"Bomb",@"Toy",nil];

NSString *searchText = @"i";
 NSArray *results = [cars filteredArrayUsingPredicate:predicate];

// if you need case sensitive search avoid '[c]' in the predicate

 NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"title contains[c] %@",
                                searchText];


searchResults = [cars  filteredArrayUsingPredicate:resultPredicate];


답변