5

Tôi đang sử dụng NSFetchedResultController. Dưới đây là kịch bản tôi muốn đạt được.Tên phân tách NSFetchedResultController - Sắp xếp tùy chỉnh theo ngày

  • Tôi có một Bảng Tin nhắn với các thuộc tính MessageDate (ví dụ: NSDate). Tôi cần sắp xếp các Tin nhắn theo nhãn ngày như Hôm nay, Hôm qua, Tuần trước và Cũ hơn.

  • Tôi đã thử sử dụng NSSortDescriptor với phương pháp chọn nhưng định dạng phương thức chọn chỉ trả về đối tượng NSComparisonResult.

+0

Bạn đã đọc về các phần hoạt động như thế nào? Bạn có phân loại và tên phần riêng trong triển khai của bạn? Hiển thị mã. – Wain

+0

Vâng tôi đã làm. Tôi cần sắp xếp các ngày so sánh nó với ngày hiện tại. Đối với Ex.if Ngày tin nhắn là ngày hôm nay nó sẽ được nhóm lại với nhau. Nếu ngày hôm qua của nó sẽ được nhóm lại trong nhóm Yesterday và So on. –

Trả lời

0

Thay vì sắp xếp kết quả, hãy thử thêm các bộ mô tả sắp xếp của bạn trong chính yêu cầu tìm nạp. Và tạo cá thể NSFetchedResultController của bạn với yêu cầu tìm nạp này.

Ví dụ: bạn có thể sử dụng đoạn mã này.

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"messageDate" ascending:YES]; 

NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 

[fetchRequest setSortDescriptors:sortDescriptors]; 

NSFetchedResultsController *myFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"message" cacheName:nil];                                            
+0

Bạn có thể muốn thêm một số chi tiết về 'sectionNameKeyPath: @" message "' – Wain

Các vấn đề liên quan