来自CoreData的NSNumber *到NSString *

时间:2016-08-27 09:59:09

标签: ios objective-c core-data nsstring nsnumber

我目前有一个来自CoreData的NSArray个对象 - 其中一个属性(名为identifier)是NSNumber。我在代码中进行了一些比较,需要将此NSNumber转换为NSString

我有这个工作,但我想知道这两段代码之间的区别是什么:

NSNumber * arrayValueNum = [coreArray[i] identifier];
NSString * arrayValue = [arrayValueNum stringValue];

NSString * test = [[coreArray[i] identifier] stringValue];

由于某种原因,第二个片段无法编译,第一个片段将会编译。

错误:

  

'NSString'没有可见的@interface声明选择器'stringValue'

它们不是一样的,除了NSNumber *值在大括号中而不是在它自己的变量中吗?

1 个答案:

答案 0 :(得分:0)

您可以使用stringWithFormat直接为此NSString变量分配值。

NSString *test = [NSString stringWithFormat:@"%@",[coreArray[i] identifier]];