为什么NSLog()在方法返回后没有做任何事情?

Fir*_*ist -4 return objective-c

我注意到,当我的方法运行时,没有任何内容打印到控制台:

- (BOOL)theTemporyFunction
{
    return YES;
    NSLog(@"Events");
}
Run Code Online (Sandbox Code Playgroud)

但是当我改变陈述的顺序时:

- (BOOL)theTemporyFunction
{
    NSLog(@"Events");
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

NSLog()不运行.

两个版本都编译,为什么NSLog()第一个似乎没有工作?

MBy*_*ByD 6

return是函数中执行的最后一个语句.在return语句之后,该函数控件返回给调用者.

例如:

function1                                      function2
int x;
function2();-----------------------------+
                                         +---->puts("function2 - should be called");
                                         +-----return;
puts("back to function1");<--------------+     puts("should not be called");
Run Code Online (Sandbox Code Playgroud)