Làm cách nào để sử dụng NSFetchedResultsController với khóa sắp xếp đã dịch và sectionKeyPath?NSFetchedResultsController section localized được sắp xếp
Sự cố: Tôi có ID trong thuộc tính "loại" trong cơ sở dữ liệu như typeA, typeB, typeC, ... chứ không phải giá trị trực tiếp vì nó phải được bản địa hóa. Trong tiếng Anh typeA = Bird, typeB = Cat, typeC = Dog bằng tiếng Đức, nó sẽ là Vogel, Katze, Hund.
Với NSFetchedResultController với phím sắp xếp và sectionKeyPath vào "gõ" Tôi nhận được lệnh và phần - typeA - typeB - typeC
Tiếp theo tôi dịch cho hiển thị và mọi thứ đều tốt bằng tiếng Anh: - Bird - Cát - Chó
Bây giờ tôi chuyển sang Đức và nhận được một thứ tự sắp xếp sai - Vogel - Katze - Hund
bởi vì nó vẫn sắp xếp theo loạiA, typeB, typeC
Vì vậy, tôi đang tìm cách để bản địa hóa sắp xếp cho NSFetchedResultsController.
Tôi đã thử phương pháp thuộc tính tạm thời, nhưng cách này không hoạt động đối với khóa sắp xếp vì khóa sắp xếp cần phải nằm trong thực thể.
Tôi không có ý tưởng nào khác. Nhưng tôi không thể tin rằng đó là không thể sử dụng NSFetchedResultsController trên một thuộc tính có nguồn gốc cần thiết cho nội địa hóa?
Có các cuộc thảo luận liên quan như Using custom sections with NSFetchedResultsController? nhưng sự khác biệt là tên phần tùy chỉnh và khóa sắp xếp có thể có cùng thứ tự. Không phải trong trường hợp của tôi và đây là sự khác biệt chính.
Cuối cùng, tôi sẽ cần một thứ tự sắp xếp cho NSSortDescriptor cần thiết trên một thuộc tính có nguồn gốc, tôi đoán vậy. Thứ tự sắp xếp này cũng để phân phối cho sectionKeyPath.
Cảm ơn mọi gợi ý.
Có, tôi đã thử điều này đến một điểm nhất định. Nhưng thành thật mà nói, tôi đã không thể thuyết phục NSString bằng cách sử dụng phương pháp so sánh được xác định loại này .... Tôi đã không mong đợi sectionKeyPath là một vấn đề vì tôi có thể sử dụng thuộc tính tạm thời ở đây, phù hợp với thứ tự sắp xếp của sắp xếp cục bộ từ bộ mô tả sắp xếp. – Gerd
Tôi đã thử một lần nữa. Vui lòng tham khảo câu trả lời "Tôi đã thử lại với tùy chỉnh so sánh ..." (Quá dài để nhận xét). – Gerd