6

Tôi có bộ điều khiển kết quả được tìm nạp sẽ hiển thị tất cả các mục của một thực thể nhất định có một số lượng phụ.Sắp xếp theo tên tổ chức trong NSFetchRequest

Các phần trong bộ điều khiển kết quả được tìm nạp phải dựa trên tên đối tượng, nghĩa là mục phụ thuộc về một mục. Đặt sectionNameKeyPath thành @"entity.name" hoạt động.

Có vẻ như, tuy nhiên, không thể có được bộ mô tả sắp xếp phù hợp cho yêu cầu tìm nạp. Những thứ như [NSSortDescriptor sortDescriptorWithKey:@"entity.name" ascending:YES] dẫn đến lỗi như keypath entity.name not found in entity Something.

+0

Hey @mrueg, bạn có tìm thấy câu trả lời cho câu hỏi này chưa? – epologee

Trả lời

3

Hãy thử sử dụng [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]; Bạn không cần quyền truy cập trước đó, vì quyền truy cập đã được xác định bởi yêu cầu tìm nạp. Xem thêm Sort Descriptor Class Reference.

+1

+1 Chắc chắn là vấn đề. 'entity.name' có nghĩa là" tìm một mối quan hệ có tên là entity và sau đó hỏi đối tượng ở phía bên kia của mối quan hệ với thuộc tính 'name' của nó. Vì không có mối quan hệ' entity' nào sắp xếp không thành công. – TechZen

+0

Kết quả này trong 'keypath tên không được tìm thấy trong thực thể Something', lý do mà rõ ràng là thực thể của tôi Cái gì đó không có một tài sản được gọi là tên.Ngay cả khi nó đã làm, điều đó sẽ không dẫn đến việc sắp xếp chính xác. được tìm thấy tại http://stackoverflow.com/questions/3931442/is-it-possible-to-sort-by-subclasses-in-an-nsfetchrequest-without-adding-additi – mrueg

+0

@ TechZen: 'entity.name' là gì _should_ có nghĩa là "tìm kiếm thuộc tính _some_ có tên là thực thể (nghĩa là không chỉ các mối quan hệ) và yêu cầu đối tượng kết quả cho tên của nó" .Chỉ có vấn đề với việc sắp xếp này được thực hiện trong SQLite chứ không phải trên NSManagedObjects. – mrueg

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