以下代码生成不一致的输出。应该记录“ testString为nil:(null)”。但是有时它还会记录“ testString is:(null)”。

是什么原因造成的?或者我错过了什么?

NSString *testString = nil;
if (!testString)
    NSLog(@"testString is nil : %@", testString);
else
    NSLog(@"testString is : %@", testString);

最佳答案

您的测试字符串很可能来自例如stringWithFormat操作(例如stringWithFormat:@"%@", someObject),而“ someObject”为nil。

10-08 07:32