Tôi có một NSDictionary (được lưu trữ trong một plist) mà về cơ bản tôi đang sử dụng như một mảng kết hợp (chuỗi làm khóa và giá trị). Tôi muốn sử dụng mảng khóa như một phần của ứng dụng của mình, nhưng tôi muốn chúng theo một thứ tự cụ thể (không thực sự là thứ tự mà tôi có thể viết một thuật toán để sắp xếp chúng vào). Tôi luôn có thể lưu trữ một mảng khóa riêng biệt, nhưng điều đó có vẻ hơi khó vì tôi luôn phải cập nhật các khóa của từ điển cũng như các giá trị của mảng và đảm bảo chúng luôn tương ứng. Hiện tại tôi chỉ sử dụng [myDictionary allKeys], nhưng rõ ràng điều này trả về chúng theo thứ tự tùy ý, không đảm bảo. Có cấu trúc dữ liệu nào trong Objective-C mà tôi đang thiếu không? Có ai có bất kỳ đề xuất về cách thanh lịch hơn để làm điều này?