我的iOS应用中存在问题,我在表格视图中添加了2个部分,但搜索栏在我的两个部分中都显示了结果,而不仅仅是一次。
这里只是猜测,但问题可能是因为搜索栏没有它自己的部分所以它将结果放在两者中?我必须添加另一部分吗?修复代码?或者添加另一个tableview / view控制器来处理filteredArray?
代码:
dataArray
是我从服务器获取所有数组的地方
followedArray
是某些数组来自dataArray
filteredArray
是来自dataArray的搜索数组
numberOfRowsInSection
if (!isFiltered) {
if (section == 0) {
return [followedArray count];
}
else {
return [dataArray count];
}
}
return [filteredArray count];
titleForHeaderInSection
if (section == 0) {
return @"Followed Data";
}
else {
return @"All Data";
}
的cellForRowAtIndexPath
Data * dataObject;
if (!isFiltered) {
if (indexPath.section == 0) {
dataObject = [followedArray objectAtIndex:indexPath.row];
}
else {
dataObject = [dataArray objectAtIndex:indexPath.row];
}
}
else {
dataObject = [filteredArray objectAtIndex:indexPath.row];
}
searchBar textDidChange
if (searchText.length == 0) {
isFiltered = NO;
} else {
isFiltered = YES;
filteredArray = [[NSArray alloc] init];
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self.dataName contains[c] %@", searchText];
filteredArray = [dataArray filteredArrayUsingPredicate:resultPredicate];
}
[myTableView reloadData];
--------------------------------
我在这里做错了什么?或者我错过了什么?
我希望在第1部分中使用followArray,在第2部分中使用dataArray,在搜索数据库中使用搜索栏搜索filteredArray以独立显示它,而不是在两个部分中显示它现在如何进行。谢谢!
答案 0 :(得分:1)
非常简单的回答,但我是iOS新手
package x;
class MySecondConsumer {
var instance:MySharedTypes.MyType;
}