Trong fetchedResultsController
trong khi thiết lập các NSSortDescriptor
iam nhận được lỗi này không được hỗ trợ NSSortDescriptor (khối so sánh không được hỗ trợ).không được hỗ trợ NSSortDescriptor (khối so sánh không được hỗ trợ)
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Alarm" inManagedObjectContext: managedObjectContext];
[fetchRequest setEntity:entity];
//Below code is not working and causing error. sorting use the hours&seconds part of the time attribute
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"time" ascending:YES comparator:^NSComparisonResult(id obj1, id obj2) {
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components1 = [calendar components:(NSHourCalendarUnit|NSMinuteCalendarUnit) fromDate:obj1];
NSDateComponents *components2 = [calendar components:(NSHourCalendarUnit|NSMinuteCalendarUnit) fromDate:obj2];
NSDate *date1 = [calendar dateFromComponents:components1];
NSDate *date2 = [calendar dateFromComponents:components2];
return [date1 compare:date2];
}];
Tôi có thể làm gì để nhận được kết quả trên? –
@Anil Vâng, một cách đơn giản có thể là trích xuất tất cả dữ liệu của bạn thành một mảng, sau đó sắp xếp mảng đó với bộ mô tả sắp xếp từ mã của bạn. – Monolo
Tôi đã làm như vậy. Sắp xếp bên ngoài sau khi tìm nạp. Nhưng vấn đề tôi đang sử dụng 'điều khiển: (NSFetchedResultsController *) điều khiển didChangeObject: (id) anObject atIndexPath: (NSIndexPath *) indexPath forChangeType: (NSFetchedResultsChangeType) loại newIndexPath: (NSIndexPath *) newIndexPath' để cập nhật xem bảng. Trong khi thực hiện xóa một số hàng khác tại đường dẫn chỉ mục sẽ bị xóa. –