if语句中的基本目标-c问题重新比较

Run*_*oop -2 objective-c

我觉得很尴尬,但这似乎是我需要理解的东西:

为什么评价为真?(如果我将它转换为int,则正确评估为false)

NSString *var1 = @"ABC";
NSString *var2 = @"ABCD";

if (([var1 length] - [var2 length]) > 2) NSLog(@"-1 > 2");
Run Code Online (Sandbox Code Playgroud)

Mic*_*ker 7

length 没有签名.

查看文档:

length
Returns the number of Unicode characters in the receiver.

- (NSUInteger)length

Return Value
The number of Unicode characters in the receiver.
Run Code Online (Sandbox Code Playgroud)