0

可能重复:
了解 Objective-C 中的 NSString 比较

头文件:

@property (nonatomic, strong) NSString *pid;
@property (nonatomic, strong) NSString *name;

Coredata NSString 存储:

[newPref setValue: @"0" forKey:@"pid"];  //correctly show in DB & NSLog
[newPref setValue: @"Sales" forKey:@"name"];

稍后检索后,评估失败:

if(preference.pid == @"0")

调试器说:

_pid = (NSSting *) 0x... @"o\xee\"
_name = (NSString *) )x0.. @<variable is not NSString>

我的 NSString 存储不正确,还是我的评估错误?注意:Coredata 模型也是字符串类型。

4

1 回答 1

2

在您的代码中,您正在比较objects,但如果您想比较字符串,它应该是

if ([preference.pid isEqualToString:@"0"])
于 2013-01-04T21:45:07.460 回答