我有一个表格,其中包含项目名称和日期。然后我有另一个表,我需要添加所有的对象与他们加入到这从表中的某个日期。例如,我想从该表中取出日期为03/08/13的所有对象,并将它们添加到另一个数组中。这是甚至可能的唯一的方法,我能想到的是有一个类似的方法来搜索栏过滤方法。任何帮助将不胜感激。 上面的表格有两个单独的标签NSMutableArrays,所以我需要有两个滤镜阵列,我认为。无搜索栏过滤表格数据
0
A
回答
0
您不需要使用2个数组:每个标签1个。相反,您可以使用NSDictionary
对象并将数据分配给与您的单元格的不同元素对应的键。在此之后,做你的日期过滤,可以做到以下几点:
// Create current calendar
NSCalendar *calendar = [NSCalendar currentCalendar];
// Setup date components from date
NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
// Set date components
[dateComponents setHour:0];
[dateComponents setMinute:0];
[dateComponents setSecond:0];
NSDate *startOfDate = [calendar dateFromComponents:dateComponents];
[dateComponents setHour:23];
[dateComponents setMinute:59];
[dateComponents setSecond:59];
NSDate *endOfDate = [calendar dateFromComponents:dateComponents];
// Create predicate to filter your date
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(cellDate > %@) AND (cellDate < %@)",startOfDate, endOfDate];
NSArray *filteredArray = [[NSArray alloc] initWithArray:[tableData filteredArrayUsingPredicate:predicate]];
你应该确保你你的日期存储为每个NSDictionary
对象NSDate
的。此外,您需要使用上述所有设置的原因是因为如果您仅使用了一个@"cellDate == @filterDate"
谓词,由于时间因素它将不起作用(除非您碰巧知道和/或明确指定了日期的确切时间保存)。
+0
完美谢谢:)填充表的NSDictionary方法更加有效 –
0
具有两个单独的阵列是最好的解决办法。如果你使用核心数据,你可以简单地设置一个筛选谓词NSFetchedResultsController
;否则,您可以简单地将未过滤的数组中的对象添加到已过滤的数组中。让我知道你会使用哪种方法,以及是否有任何问题。
相关问题
- 1. 搜索栏来过滤表
- 2. 护栏下拉搜索/过滤搜索
- 3. 使用搜索表格过滤数组列表的数据
- 4. 数据表过滤或搜索
- 5. 搜索栏 - 在swift中过滤数值
- 6. 更改过滤列表视图的搜索栏的格式
- 7. 搜索栏 - 为收藏查看数据源过滤搜索项数组
- 8. jQuery表格列搜索过滤器
- 9. WPF数据绑定数据网格过滤/搜索
- 10. 过滤使用搜索栏PostgreSQL数据库在我的网站
- 11. 搜索栏过滤器不工作
- 12. 搜索栏未正确过滤
- 13. 搜索栏有困难过滤SWIFT 3
- 14. Xcode的搜索栏包含/过滤器
- 15. 不使用搜索栏来过滤UITableView
- 16. 过滤MySQL表搜索
- 17. 多表搜索过滤器
- 18. 过滤的搜索引擎数据
- 19. jqGrid搜索/过滤器数据api
- 20. 无法使用搜索栏来过滤tableview
- 21. 无法过滤数据表?
- 22. 使用XPages中的数据网格创建搜索过滤器
- 23. Angular JS搜索过滤器没有使用Firebase过滤数据
- 24. Kendo ListView搜索无法正常使用已过滤的数据
- 25. 搜索栏过滤器在结果不匹配时不清除表格
- 26. Jqgrid搜索工具栏过滤器独特的下拉列表
- 27. 实施搜索栏来过滤列表项目
- 28. 搜索栏过滤器列表视图项
- 29. 使用搜索栏和下拉列表过滤器Kendo ListView
- 30. 根据搜索工具栏中的输入过滤jqgrid中的数据
请问您打算如何使用创建的新阵列进行操作?关于你如何存储你的数据,你可能不需要两个数组(每个标签为1)。 1的做法是创建一个“NSDictionary”对象并将数据分配给与您的单元格的不同元素对应的键。这样,您只有一个对象可以关联到任何给定的单元格。让我知道你是否感兴趣,我可以在适当的答案中详细说明。 – Yazid
它基本上是一个任务应用程序,所以我想在主视图控制器上创建一个数组以显示当天所有的任务?我没有考虑使用NSDictionary的标签将有助于过滤? –
在我看来,它会让它变得更简单,因为你只需要过滤1个数组而不是2个。我将提交一个包含细节的答案。 – Yazid