【发布时间】:2012-07-31 08:12:49
【问题描述】:
好的,我有两个包含数字的字符串,如下所示使用调试器:
字符串 1
(gdb) po [event creator_id]
123456789
(gdb) p [event creator_id]
$1 = (NSString *) 0xad81d10
字符串 2
(gdb) po [delegate userid]
123456789
(gdb) p [delegate userid]
$2 = (NSString *) 0x7451b40
现在我想检查它们是否彼此相等,这就是问题所在。
下面的 if 语句由于某种原因不会返回 true:
if ([[delegate userid] isEqualToString: [event creator_id]]) {
NSLog(@"They are equal!");
}
有人可以向我解释一下这是怎么发生的吗?感谢您的宝贵时间!
【问题讨论】:
-
是否有可能出现尾随空格?
-
是 [[delegate userid] isKindOfClass:[NSString class]] == YES && [[event creator_id] isKindOfClass:[NSString class]] == YES
-
仔细检查是否没有空格或不可见字符,也许?
-
仔细检查!给我一秒钟!
-
@MSK 似乎 [event creator_id] 并不是真正的 NSString。但是,如果它真的不是,为什么它会在调试器中显示为一个呢?未导致错误的失败转换??
标签: iphone objective-c ios