以下代码生成不一致的输出。它应该记录“testString is nil:(null)”。但它有时也记录“testString is:(null)”。
是什么导致了这个或者我错过了什么?
NSString *testString = nil;
if (!testString)
NSLog(@"testString is nil : %@", testString);
else
NSLog(@"testString is : %@", testString);
答案 0 :(得分:2)
很可能你的测试字符串来自,例如,一个stringWithFormat操作,例如stringWithFormat:@"%@", someObject
,而“someObject”是零。
答案 1 :(得分:1)
我猜这不是您正在运行的确切代码?
猜测一下,也许你的变量最终包含[NSNull null]
。