, 나는 다음과 같은 한 코드자 NSPredicate 검색 창에서 충돌
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { [searchBar resignFirstResponder]; self.filteredResults = [[NSMutableArray alloc] init]; NSPredicate* predicate = [NSPredicate predicateWithFormat:@"(%K == %@)", field1, field2]; self.filteredResults = (NSMutableArray *)[originalArray filteredArrayUsingPredicate:predicate]; }
편집 : 술어의 searchBarSearchButtonClicked:searchBar
메시지 self.fiteredResults
의 할당에서 프로그램이 충돌을 실행하는 두 번째 시간에
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar { originalArray = [[NSArray alloc] initWithContentsOfFile:path]; return YES; }
. [self.filteredResults removeAllObjects]
을 포함하면 프로그램이 충돌하여 제거되고 두 번째로 검색이 수행되지 않습니다. 이 코드의 어떤 것도 충돌을 일으키거나 다른 곳에서 볼 수 있어야합니까? 미리 감사드립니다.
'BOOL'을 NSArray에 할당하면 어떤 결과가 기대됩니까? 컴파일러가 너 한테 소리 지르는거야? –
이 질문에 잘못된 코드를 적었습니다. 그래서 배열 할당을 - (void) delegate 메서드로 옮기고 두 번째로는 여전히 오류가 발생합니다. alloco/init 배열을 원한 후에 오타가 있음을 알았지 만 이미 그렇게하고 있습니다! – aug2uag
@ 중탄산염 NSArray에 BOOL을 할당하면 코드가 컴파일되지 않습니다 – aug2uag