我有一个简单的字符串检查代码,它将检查来自我的服务器的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是什么?
答案 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,然后进行比较。