我有一个包含4个字段的小型数据库:标题,价格,相机(Y / N)和照片。
它是一个应用程序,显示UITableView中的产品列表和每个产品的DetailedView。
现在我要做的是添加另一个ViewController,它将包含一个Slider(适用于价格)和一个Segmented Controler(适用于Camera,所以如果产品有相机是或否)。点击底部的按钮。
用户应该可以转到这个ViewController,例如设置50美元的价格,按下Apply后,应用程序会将它们带回UITableView,只显示价格低于50美元的产品。
如果用户选择通过相机进行过滤,他们也应该能够使用分段控制器进行过滤。
我有什么想法可以继续这样做,以及是否有可用的教程?我能找到的关于过滤的唯一教程是关于添加搜索栏,但这不是我想要做的。
我使用以下代码将我的内容显示在表格中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"TableCell";
TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
int row = [indexPath row];
cell.TitleLabel.text = _Title[row];
cell.PriceLabel.text = _Price[row];
cell.CompanyLabel.text = _Company[row];
cell.ThumbImage.image = [UIImage imageNamed:_Images[row]];
cell.DescriptionLabel.text = _Description[row];
cell.CameraLabel.text = _Camera[row];
我想这都是非常基本的。有没有办法像这样进行过滤,还是我必须学习核心数据?
我的数据以下列格式存储在TableViewController.m中:
_Title = @[@"180 QX HD",
@"200 QX",
@"350 QX RTF",
等和
_Price = @[@"189",
@"229",
@"420",
答案 0 :(得分:0)
如果您有Core-Data数据库,您可能会在Applying a filter to NSFetchedResultsController找到您的问题的答案。 如果不是,您必须发布更多信息和一些代码。
答案 1 :(得分:0)
有两个NSMutableArrays:
filteredResultsArray最初使用allResultsArray填充,然后基于所有过滤器控件等,只有相关结果保留在其中。
您需要根据过滤器创建修改filteredResultsArray的函数。
您的UITableView应该只在其所有委托函数中引用filteredResultsArray。 每当filteredResultsArray发生变化时重新加载表