前提
本搜索功能主要是在集合套字典的數據源中實現
實現步驟
1.提供謂詞搜索關鍵字
2.提供搜索區域
3.將搜索關鍵字和謂詞結合
4.接收搜索結果
數據源
數據源樣式為集合套字典
屏幕快照 2016-06-02 上午10.54.08.png
核心搜索代碼
(1)self.dataList查詢數據源
(2)arr 按照規定的key值進行數據查詢
(3)searchStr 搜索關鍵字
(4)_searchResultArr 搜索結果
//搜索關鍵字
NSString *searchStr =self.titlename;
//按照規定的key值進行數據查詢
NSArray *arr=@[@"MCType",@"MCCompanyname",@"MCIntroduce",@"MCPlace",@"MCTime",@"Money",@"MCRequirement"];
_predicateStr=[NSMutableString stringWithFormat:@""];
for (NSString *parameterStr in arr) {
[_predicateStr appendString:[NSString stringWithFormat:@"self.%@ CONTAINS [CD] '%@' OR ",parameterStr,searchStr]];
}
[_predicateStr deleteCharactersInRange:NSMakeRange(_predicateStr.length-4,4)];
NSPredicate *predicate = [NSPredicate predicateWithFormat:_predicateStr];
//查詢結果
//self.dataList查詢數據源
_searchResultArr = [NSMutableArray arrayWithArray:[self.dataList filteredArrayUsingPredicate:predicate]];
通過搜索結果后顯示在tabview上
Simulator Screen Shot 2016年6月2日 上午11.05.05.png
Simulator Screen Shot 2016年6月2日 上午11.05.50.png