我目前有一个来自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 *
值在大括号中而不是在它自己的变量中吗?
答案 0 :(得分:0)
您可以使用stringWithFormat
直接为此NSString
变量分配值。
NSString *test = [NSString stringWithFormat:@"%@",[coreArray[i] identifier]];