Erweiterung auf @Abizern und @ Jonathan Dann Antworten zu ermöglichen, sowohl isEqual
und isEqualToString
arbeiten mit nil
Werte.
- (void)testStringEqual {
NSString *string = nil;
STAssertFalse([string isEqual:@"test"], @"NSString isEqual");
STAssertFalse([string isEqualToString:@"test"], @"NSString isEqualToString");
// Note that these both return NO
STAssertFalse([string isEqual:nil], @"NSString isEqual");
STAssertFalse([string isEqualToString:nil], @"NSString isEqualToString");
string = @"test";
STAssertTrue([string isEqual:@"test"], @"NSString isEqual");
STAssertTrue([string isEqualToString:@"test"], @"NSString isEqualToString");
STAssertFalse([string isEqual:nil], @"NSString isEqual");
STAssertFalse([string isEqualToString:nil], @"NSString isEqualToString");
}
Wenn Sie Aaron Hillegass glauben dann gibt es keinen Unterschied in der Leistung , nur ein bisschen Typ Sicherheit: http://blog.bignerdranch.com/334-isequal-vs -isequalostring/ – Caro
Danke für den Link - nützlich. Obwohl Sie uns bitten, Mark Dalrymple zu glauben - wen ich tue :) – Abizern