Делаю сортировку записей по дате. И работает алгоритм правильно. Находит именно 4 записи по дате:
11.07.2016. Но в список добавляет первые 4 записи.
Имеется два массива. Один с оригинальным содержанием, другой меняется в зависимости от условий.
// Вызываем navSegmentC()
func navSegmentC(){
let date = NSDate()
var day : String = "0"
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Day , .Month , .Year], fromDate: date)
let month : String = (components.month < 10) ? "0\(components.month)" : String(components.month);
switch navSegment.selectedSegmentIndex
{
case 0:
sortType = 0;
day = "\(String( components.day )).\(month)"
case 1:
sortType = 1;
day = "\(String( Int( components.day ) + 1 )).\(month)"
case 2:
sortType = 2;
day = "0";
default:
break;
}
self.sortByDate(day)
}
func sortByDate(time:String){
let dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeZone = NSTimeZone()
self.patients = []
for (index,element) in original_patients.enumerate() {
dateFormatter.dateFormat = "dd.MM"
let date = NSDate(timeIntervalSince1970: Double((element["date1"] as? String)!)!)
let t1 = dateFormatter.stringFromDate(date).componentsSeparatedByString(".");
let t2 = time.componentsSeparatedByString(".");
if ( Int(t1[0])==Int(t2[0]) && Int(t1[1])==Int(t2[1]) ) {
self.patients.addObject(self.original_patients[index])
}
}
if (time == "0") { self.patients = self.original_patients }
self.tableView.reloadData()
}