좋아요, 그래서 간단한 조회를하고 있습니다. NSString 객체의 배열과 배열 요소에서 검색 할 문자열이 있습니다.메서드는 11 개의 개체, 범위를 모두 벗어남, 인식 할 수없는 선택기 결과로 배열을 만듭니다.
검색 결과를 보관할 수 있도록 변경 가능한 새로운 배열에 일치 항목을 추가하기 전까지는 모두 문제가 있습니다. stringHolder 변수는 문자열을 가져오고 resultsCollectorArray는 올바른 수의 새 요소를 가져 오지만 각 요소는 비어 있으며 범위를 벗어납니다.
@implementation NSArray (checkForString)
-(NSMutableArray *) checkForString: (NSString *) matchSought
{
long unsigned numberofArrayElements;
long unsigned loop = 0;
NSRange searchResults;
NSMutableArray * resultCollectorArray = [[NSMutableSet alloc] init];
id stringHolder;
numberofArrayElements = [self count];
while (loop < numberofArrayElements) {
searchResults.length = 0;
searchResults = [[self objectAtIndex: loop] rangeOfString: matchSought options:NSCaseInsensitiveSearch];
if (searchResults.length > 0) {
stringHolder = [self objectAtIndex: loop];
[resultCollectorArray addObject: stringHolder];
}
loop++;
}
return [resultCollectorArray autorelease];
}
우리가 프로그램의 주요 부분에 일단
, 나는 방법의 결과를받을 예정 된 변경 가능한 배열에 보낸 인식 할 수없는 선택기를 얻을 : 여기에 방법입니다. 여기에 주요 섹션이 있습니다 :다른 답변 (수 시간 동안)을 검색했지만 문제를 해결하지 못했습니다.
모든 도움은 정말 감사하겠습니다.
그리고 미리 감사드립니다.
+1 Deepak ...... – Legolas
'resultString'도 잘못되었습니다. – bbum
Deepak, 감사합니다. 나는 그것이 무언가 복잡해야 했음에 틀림 없다고 생각하고 있었다. 또한 NSPredicate에 대한 추가 정보를 주셔서 감사합니다. 나는 이것을 (당신이 짐작할 수 있듯이) 새로운 것입니다. – ctaggart