NSDictionary를 포함하는 NSMutableArray * dataArray가 있습니다. searchString이 사전 값 중 하나와 일치하면 첫 번째 배열의 객체를 사용하여 새 NSMutableArray * tempDataArray를 만들기 위해 배열을 반복합니다. 사전도있는 NSDate 포함되어 있기 때문에사전 값을 비교하여 배열을 반복합니다.
self.tempDataArray = [[NSMutableArray alloc] init];
for (int i = 0; i < kDelegate.dataArray.count; i++) {
NSDictionary *dict = [kDelegate.dataArray objectAtIndex:i];
for (int j = 0; j < [dict allValues].count ; j++) {
if ([[[[dict allValues] objectAtIndex:j]stringValue] isEqualToString:searchString]) {
[self.tempDataArray addObject:dict];
}
}
}
지금이 작동하지 않습니다
여기 내 코드입니다. 내가 그나마
-[__NSTaggedDate stringValue]: unrecognized selector sent to instance 0x41b7809e2600000d
이해, 내가 stringValue 모든 값을 선언 않기 때문에 : 적어도 그게 내가 오류 메시지에서 읽고 있습니다 것입니다.
내 문제의 첫 번째 부분이었습니다. 두 번째 절반은 정확한 일치를 검색하는 것입니다.하지만 사전 값에 하위 문자열이 포함되어 있는지 검색하는 것이 좋습니다.
어쨌든 모든 도움에 감사드립니다.
당신은 "stringValue로 선언 모든 값"이란 무엇을 의미합니까? 의미있는 것은 아닙니다 ... 또한 예외 메시지를 읽으십시오. 'stringValue' 메시지를 구현하지 않는'NSDate'에 보내려한다는 것을 알려줍니다. –
나는이 줄을 의미했다 :'[[dict allValues] objectAtIndex : j] stringValue]' 날짜를 돌보고 그것을 문자열 값으로 변환하면 안된다? – freshking