如果评估,则更喜欢

use*_*234 3 objective-c

哪个是首选方法?假设myInteger 99.99%的时间将具有有效值,并且此方法将被非常快速地调用.

-(BOOL)validDate
{
    NSUInteger myInteger = ...//method to obtain value;    
    if (myInteger != NSNotFound)
        return YES;        
    return NO;
}


-(BOOL)validDate
{
    NSUInteger myInteger = ...//method to obtain value;    
    if (myInteger == NSNotFound)
        return NO;        
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

Wai*_*ain 6

首选的是:

- (BOOL)validDate
{
    NSUInteger myInteger = ...//method to obtain value;    

    return (myInteger != NSNotFound);
}
Run Code Online (Sandbox Code Playgroud)

因为它实际上不需要执行分支.

请注意,除非您运行此代码很多,否则差异将会不知不觉地变小......

  • "请注意,除非你经常运行这段代码,否则差别会很小:"如果你严格地谈论代码执行,那绝对是.但是,如果考虑到代码可读性,这绝对是首选方法. (2认同)