0

我有一个 Web 服务器,用于在我的 iOS 应用程序中获取一些数据。数据包括一个字段作为itemId假设'48501'(不带引号)。我将项目 JSON 数据读入我itemObject的其中,其中itemId定义为 aNSString而不是 a NSInteger

到目前为止一切正常,但我有问题我想将itemObject.itemId使用isEqual:函数与另一个NSString填充48501.

换句话说,两个字符串完全相同,并且48501在我打印它们时包括在内。那里没有空间和隐藏的东西。比较时所有isEqual:isEqualToString:==报告错误。

另一方面,当我转换NSStringsNSIntegers 并比较它们时,它可以工作,但并非总是如此!有时TRUE有时崩溃,没有错误可以捕捉,只是指向线!我看到它们打印的完全一样,但是 if 语句没有通过。

我向比我更有经验的人展示了代码,他说这可能是一个错误!有人接触过这个吗?

4

1 回答 1

5

如果您的itemIdis 中48501没有任何引号JSON,则将其反序列化为NSNumber. 可能这首先是问题所在。尝试记录您的类型itemId并适当地使用-isEqualToString:forNSString-isEqualToNumber:for NSNumber

于 2013-11-05T17:02:43.787 回答