ios - 在 NSDictionary 中设置值时 @"1.5"和 @(1.5) 有什么区别?

标签 ios objective-c iphone nsmutabledictionary

在 iPhone 项目中,

当时我正在设置字典中的值,

NSMutableDictionary*dictionary=[[NSMutableDictionary alloc] init];
        [dictionary setValue:@(2.8) forKey:@"Why"];

和,

NSMutableDictionary*dictionary=[[NSMutableDictionary alloc] init];
        [dictionary setValue:@"2.8" forKey:@"Why"];

我的问题是为什么不使用@"2.5"和@(2.5)?

最佳答案

你有两个问题,最好是一个问题。

但至于区别,@"2.5" 是一个 NSString 其中 @(2.5) 是一个 NSNumber。文本数据和数字数据之间存在很大差异。

至于为什么需要 NSNumber 而不是 NSString 是显而易见的:字距调整是一个数值。

关于ios - 在 NSDictionary 中设置值时 @"1.5"和 @(1.5) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930069/

相关文章:

ios - Google Maps SDK 在 ItunesConnect 测试而非 Xcode 上崩溃

ios - Swizzling 不适用于类方法

ios - UIcollection View 不滚动?

ios - 如何为 UIImageView 比例设置动画但保持其图像不变?

ios - AudioKit - 立体声 channel 从输入翻转到输出?

ios - UINavigationBar 在 TableView 更新后才更新条形按钮项目

objective-c - stringByReplacingOccurrence 不替换字符串

iphone - UINavigationController 不显示 Root View Controller

ios - 使用约束自动布局将 4 个图像居中

ios - 在 NSUserDefaults 中存储字典并使用存储的数据。