iOS中的字符串匹配返回0x00000001?

时间:2017-02-28 09:32:03

标签: ios objective-c if-statement

我有一个简单的字符串检查代码,它将检查来自我的服务器的NSString到我在xcode中硬编码的NSString。

请检查代码

if([[array valueForKey:@"type"] isEqualToString:@"type"]  ) {
//Failed
}

输入值是这些

[array valueForKey:@"type"] is a string from server  'type'

当我在xcode控制台中执行此操作时

po [[array valueForKey:@"type"] isEqualToString:@"type"]

我的输出为

0x00000001

两个字符串都相同,但是这个0x00000001是什么?

4 个答案:

答案 0 :(得分:0)

你现在在打印比较结果时做了什么,检查你必须打印的字符串的值[array valueForKey:@“type”]值,或者打印数组中所有项目的值一定不会。

希望有所帮助。

答案 1 :(得分:0)

[array valueForKey:@"type"]将返回一个最有可能与字符串不同的值。假设数组是 NSDictionary 填充 NSIntegers ,那么键"类型" 的整数不会等于字符串"键入"

答案 2 :(得分:0)

我以为你有一个十六进制值。所有十六进制值均从0x开始。你的价值等于1。 if语句1等于true。所以你比较的字符串是相等的。这个0x0000000000000001值来自编译器和编译器设计的那种。

答案 3 :(得分:-1)

这里,[array valueForKey:@" type"]

数组必须是NSDictionary ...因为数组不具有" valueForKey:"方法..

最好先保存一些var,然后进行比较。