【问题标题】:Using valueForKey to convert array of strings to array of nsnumbers使用 valueForKey 将字符串数组转换为 nsnumbers 数组
【发布时间】:2014-09-01 13:20:43
【问题描述】:

我有一个包含数字的字符串数组。因此,如果有一种方法可以从 NSString 获取 NSNumber,那么很容易得到一个数字数组:

[arrayOfStrings valueForKey:@"NSNumberValue"]

但是要将字符串转换为数字,您必须执行以下操作:

[NSNUmber numberWithInt:[string intValue]];

我想知道是否有任何方法可以在不手动迭代数组的情况下做到这一点?

【问题讨论】:

  • [[arrayOfStrings objectAtIndex: index] intValue]
  • @BHASKAR "无需手动遍历数组"

标签: objective-c nsstring nsmutablearray nsnumber


【解决方案1】:

NSArray *arrayOfNumbers = [arrayOfStrings valueForKey:@"intValue"];

【讨论】:

  • +1。解释一下:问题假设您需要NSString 类型为NSNumber* 的属性。但是,KVC 会自动为您将标量数字类型包装在 NSNumber 对象中。所以,你只需要一个标量数值类型的属性,比如-intValue
  • 没错。毕竟,众所周知,valueForKey: 也可以使用标量属性,并且鉴于它返回 id,这意味着标量类型会自动包装。
猜你喜欢
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多