搜索栏在表格视图

时间:2016-10-19 00:00:25

标签: arrays xcode uitableview uisearchbar sections

我的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以独立显示它,而不是在两个部分中显示它现在如何进行。谢谢!

1 个答案:

答案 0 :(得分:1)

非常简单的回答,但我是iOS新手

package x;

class MySecondConsumer {
    var instance:MySharedTypes.MyType;
}