NSNumber * 从 CoreData 到 NSString *
NSNumber * to NSString * from CoreData
我目前有 NSArray
个来自 CoreData 的对象 - 其中一个属性(名为 identifier
)是一个 NSNumber
。我正在我的代码中进行一些比较,需要将此 NSNumber
转换为 NSString
。
我已经可以使用它了,但是我想知道这两段代码之间的区别是什么:
NSNumber * arrayValueNum = [coreArray[i] identifier];
NSString * arrayValue = [arrayValueNum stringValue];
和
NSString * test = [[coreArray[i] identifier] stringValue];
出于某种原因,第二个片段无法编译,而第一个片段可以。
错误:
no visible @interface for 'NSString' declares the selector 'stringValue'
除了 NSNumber *
值在大括号中而不是在它自己的变量中之外,它们不一样吗?
您可以像这样使用 stringWithFormat
直接为 NSString
变量赋值。
NSString *test = [NSString stringWithFormat:@"%@",[coreArray[i] identifier]];
我目前有 NSArray
个来自 CoreData 的对象 - 其中一个属性(名为 identifier
)是一个 NSNumber
。我正在我的代码中进行一些比较,需要将此 NSNumber
转换为 NSString
。
我已经可以使用它了,但是我想知道这两段代码之间的区别是什么:
NSNumber * arrayValueNum = [coreArray[i] identifier];
NSString * arrayValue = [arrayValueNum stringValue];
和
NSString * test = [[coreArray[i] identifier] stringValue];
出于某种原因,第二个片段无法编译,而第一个片段可以。
错误:
no visible @interface for 'NSString' declares the selector 'stringValue'
除了 NSNumber *
值在大括号中而不是在它自己的变量中之外,它们不一样吗?
您可以像这样使用 stringWithFormat
直接为 NSString
变量赋值。
NSString *test = [NSString stringWithFormat:@"%@",[coreArray[i] identifier]];