我有一個表格,其中包含項目名稱和日期。然後我有另一個表,我需要添加所有的對象與他們加入到這從表中的某個日期。例如,我想從該表中取出日期爲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