Tôi có thể sắp xếp các số NSDictionary
trên cơ sở khóa không?Tôi có thể sắp xếp NSDictionary trên cơ sở khóa trong Objective-C không?
Trả lời
Bạn có thể sắp xếp các phím và sau đó tạo một NSMutableArray
bằng cách lặp lại chúng.
NSArray *sortedKeys = [[dict allKeys] sortedArrayUsingSelector: @selector(compare:)];
NSMutableArray *sortedValues = [NSMutableArray array];
for (NSString *key in sortedKeys)
[sortedValues addObject: [dict objectForKey: key]];
Tôi đã sử dụng câu trả lời của bạn trong câu trả lời cho http://stackoverflow.com/a/13406407/257533 –
Vì vậy, đây có phải là câu trả lời đúng hay không? có nhiều phiếu bầu, nhưng không chấp nhận? –
Đây là câu trả lời đúng. Đáng buồn thay, phương thức dễ dàng hơn (trong iOS 7) của '[dictionary keysSortedByValueUsingSelector: @selector (compare :)]' không hoạt động. Vì lý do nào đó, nó cho tôi kết quả gần như ngẫu nhiên theo thứ tự. Tôi tự hỏi nếu 'keysSortedByValueUsingSelector:' làm một cái gì đó mà nó chèn vào mảng dựa trên giá trị cuối cùng của mảng, đó là loại vô ích. – mikeho
Nó là đơn giản hơn nhiều để sử dụng objectsForKeys:notFoundMarker:
cho rằng
NSDictionary *yourDictionary;
NSArray *sortedKeys = [yourDictionary.allKeys sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"self" ascending:YES]]];
// As we using same keys from dictionary, we can put any non-nil value for the notFoundMarker, because it will never used
NSArray *sortedValues = [yourDictionary objectsForKeys:sortedKeys notFoundMarker:@""];
- 1. Sắp xếp NSDictionary
- 2. Có cách nào dễ dàng để sắp xếp NameValueCollection trên cơ sở khóa trong C#?
- 3. Tôi có thể tạo khóa ngoại trên cơ sở dữ liệu không?
- 4. Sắp xếp NSDictionary theo các phím là phao
- 5. Sắp xếp Bullets trong cơ sở dữ liệu
- 6. iPhone - Sắp xếp NSMutableArray chứa NSDictionary với 2 phím
- 7. Loại sắp xếp JQuery-UI có thể sắp xếp trên biểu mẫu gửi
- 8. Có thể sắp xếp các tệp trên Amazon S3 không?
- 9. Sắp xếp nhiều khóa với Unix sắp xếp
- 10. Nhận các khóa NSDictionary được sắp xếp theo các giá trị tương ứng
- 11. Objective-C: Sắp xếp các phím của NSDictionary dựa trên mục từ điển
- 12. Các khóa trong NSDictionary có thể được sao chép?
- 13. Dừng NSDictionary từ sắp xếp các mục của nó
- 14. Làm cách nào để sắp xếp một NSDictionary?
- 15. Có thể sắp xếp một HashTable không?
- 16. Tôi có thể sắp xếp NSMutableDictionary với giá trị khóa như thế nào?
- 17. Tôi sắp xếp ở đâu?
- 18. Cách hiệu quả để lưu trữ các mục có thể sắp xếp lại trong cơ sở dữ liệu
- 19. Có thể dựa vào khóa chính tăng tự động trong cơ sở dữ liệu của bạn không?
- 20. Emacs sắp xếp-regexp trên = nhưng không ==
- 21. Sắp xếp một HashMap dựa trên Giá trị rồi Khóa?
- 22. từ chối mục có thể sắp xếp không hợp lệ trong danh sách có thể sắp xếp
- 23. Thuộc tính cơ sở dữ liệu có thể là khóa chính và khóa ngoài không?
- 24. sắp xếp một căn cứ mảng trên chìa khóa
- 25. Tôi có thể sắp xếp ObservableCollection như thế nào?
- 26. Tôi có thể sử dụng mysqlslap trên cơ sở dữ liệu hiện có không?
- 27. Làm thế nào tôi có thể được thông báo nếu cột DataGrid được sắp xếp (và không sắp xếp)
- 28. Sắp xếp mảng Mảng đa điểm trên nhiều cột "cột" (khóa) với tùy chọn sắp xếp được chỉ định
- 29. Tôi có thể sắp xếp lại các cột trong bảng một cách hợp lý không?
- 30. Làm cách nào để sắp xếp lại các hàng trong cơ sở dữ liệu sql
Có phải câu trả lời cung cấp cho bạn những thông tin đúng không? Có thể bạn có thể đánh dấu nó là câu trả lời để câu hỏi này sẽ được đánh dấu là đã được giải quyết. –