Хочу реализовать сортировку записей по датам, при этом используя UISegmentControl.
UISegmentControl содержит три столбца:
Все,
Сегодня,
Ближайщие
При сортировке строк я использую 3 -
NSMutableArrayperson - тут список людей первоначальный для обработки
cellForRowAtIndexPath.
original_person - резервный список (копия person). Для тех случай, когда главный список пуст или был изменен.
b_person - в нем будут храниться те строки, которые соответствуют условию.
Вопрос:
Почему выводит такую ошибку?Could not cast value of type '__NSDictionaryM' (0x101bafd38) to 'NSMutableArray' (0x101baf978).
На эту строку:
if (ok==1) { b_person = h as! NSMutableArray }
Сам код:
b_person.removeAllObjects()
person = original_person
var shortDate: String {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd"
return dateFormatter.stringFromDate(NSDate())
}
var day1: NSInteger = 0;
var day2: NSInteger = 0;
var day3: NSInteger = 0;
var day4: NSInteger = 0;
var date: String = "";
var ok: Int = 0;
let dayNow: NSInteger = Int(shortDate)!;
for h in person {
ok = 0;
let date1 = h["date"] as? NSString
let date2 = h["date2"] as? NSString
let date3 = h["date3"] as? NSString
let date4 = h["date4"] as? NSString
if (date1!.componentsSeparatedByString(".")[0] != "") {
day1 = Int(date1!.componentsSeparatedByString(".")[0])!;
} else { day1 = 0 }
if (date2!.componentsSeparatedByString(".")[0] != "") {
day2 = Int(date2!.componentsSeparatedByString(".")[0])!;
} else { day2 = 0 }
if (date3!.componentsSeparatedByString(".")[0] != "") {
day3 = Int(date3!.componentsSeparatedByString(".")[0])!;
} else { day3 = 0 }
if (date4!.componentsSeparatedByString(".")[0] != "") {
day4 = Int(date4!.componentsSeparatedByString(".")[0])!;
} else { day4 = 0 }
if (day1>=dayNow) {date=date1! as String; ok = 1;}
if (day2>=dayNow) {date=date2! as String; ok = 1;}
if (day3>=dayNow) {date=date3! as String; ok = 1;}
if (day4>=dayNow) {date=date4! as String; ok = 1;}
if (ok==1) { b_person = h as! NSMutableArray }
}
person = b_person
self.tableView!.reloadData()
P.S: Я начинаю только кодить на Swift'e и понимаю, что это быдло-код :) Прошу только помочь решить эту проблему