iphone - NSMutableSets 的 NSMutableDictionary...整理一下

标签 iphone cocoa iphone-sdk-3.0

我有一个 NSMutableSets 的 NSMutableDictionary。

每个集合条目都是一个字符串,如下所示:

NSMutableSet *mySet = [NSMutableSet setWithObjects: 
  [NSString stringWithFormat:@"%f", time1],
  [NSString stringWithFormat:@"%f", time2],
  [NSString stringWithFormat:@"%f", time3], 
  nil];
// time 1,2,3, are  NSTimeInterval variables

然后我使用以下方法将每个集合存储在字典中:

NSString *rightNowString = [NSString stringWithFormat:@"%f", rightNow];
[myDict setValue:mySet forKey:rightNow];
// rightNow is NSTimeInterval
// myDict is a NSMutableDictionary

由于 rightNow 键可能会乱序出现,因此我以一个不按 rightNow 排序的 NSDictionary 结尾。

考虑到这些 NSDictionary 是作为字符串存储在字典中的数字,我如何通过它的键对这个 NSDictionary 进行排序...?

我不关心订购套装,只关心订购字典。

感谢您的帮助。

最佳答案

  1. 如果值为 NSTimeInterval,则使用 %f%g 等而不是 %d。 NSTimeInterval 是一个double
  2. 您无法对 NSDictionary 或 NSSet 内的对象进行排序。如果你需要持久的顺序,你必须使用 NSArray,或者切换到 Objective-C++ 并使用 std::map

关于iphone - NSMutableSets 的 NSMutableDictionary...整理一下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460554/

相关文章:

iphone - 如何将货币格式文本转换为 double 值或 NSNumber 值?

iphone - glReadPixels 仅在 iOS 7 设备上提供黑色图像

cocoa - NSMenuBar 鼠标按下通知?

objective-c - 重新分配给包含自动释放对象的指针是否不正确?

iphone-sdk-3.0 - 在iPhone 3.0中,尝试使用MessageUI从相机发送图像时,应用程序崩溃

iphone - 旧显示在模态视图 Controller 后下移问题

iphone - 以编程方式设置 iPhone 方向的正确方法是什么?

ios - iPhone 的 UIButton 的 UIPopOver

objective-c - 使用 NSBox 在 NSCollectionView 中突出显示所选项目

objective-c - 使用 NSNumberFormatter 格式化输出 UILabel 中的货币