我的核心数据中有一个表,其中一个字段称为userId,它是一个整数。
我成功获取了它,并使用以下代码将其分配给了ID:
id userId2 = [info valueForKey:@"userId"];
info是我的NSManagedObject,而userId2是一个ID。
现在,我想将userId2转换为字符串。我读到我可以直接执行以下操作:
NSString *userId3 = userId2;
但是,当我在字符串和userId3之间执行if检查时,即使它们具有相同的值,检查也会失败。
还有一点,Xcode表示在调试模式下userId不是CFString。
我的解决方案是将两个变量都转换为double:
double myDouble = [userId3 doubleValue];
还有其他建议吗?
最佳答案
如果userId
字段是数字,则不是NSString
,而是NSNumber
。对于这种简单的情况,您可以使用...
NSString *userId3 = [userId2 stringValue];
... 要么 ...
NSString *userId3 = [NSString stringWithFormat:@"%d", [userId2 intValue]];
...和字符串比较应该以这种方式完成...
if ( [str1 isEqualToString:str2] ) {
}