ios - 为什么代码没有被执行?

标签 ios objective-c

我在扩展 WebView 的类中有以下方法

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    NSLog(@"WEBVIEW - Start Load");

    static BOOL isFirstLaunch = YES;

    if (isFirstLaunch) {
        isFirstLaunch = NO;

    } else {
        [webView stringByEvaluatingJavaScriptFromString:@"localStorage.states = '[{},{\"name\":\"Dashboard\"}]'"];
    }
      // webView connected
    webviewTimeout = [NSTimer scheduledTimerWithTimeInterval:kWebViewLoadTimeOut target:self selector:@selector(webViewTimeout) userInfo:nil repeats:NO];
}

static声明加上if else在程序执行时被跳转。我在 Xcode 调试器中注意到这一点。 我看不出我的代码有什么问题。我虽然这可能是由于方法内的 static BOOL 变量声明所致,但我在 .m 文件的任何 block 之外声明了它。但是 if else 仍然没有被执行。我还尝试在加载 WebView 之前将代码放入 ViewController 类中,但提到的代码仍未执行。我在这里缺少什么?

更清楚一点:我注意到代码没有使用 Xcode Debugger 执行。如果我在 if elsestatic 中的任何部分中放置任何断点,我会在 NSLog 中的方法开头放置一个断点变量声明,似乎忽略了它,并且没有中断。

提前致谢。

最佳答案

编译器优化有时会使调试器感到困惑。他们可以重新排列指令甚至删除代码。关闭它们可以更轻松地单步执行代码。

关于ios - 为什么代码没有被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632847/

相关文章:

ios - iPad 3(视网膜)的最大视频/电影分辨率是多少?

ios - UITableView 在从纵向旋转到横向,再回到纵向时会更改大小

ios - UIImageView 不会拉伸(stretch)到整个屏幕

iphone - 关闭特定对象的控制台日志记录

ios - block 定义在整个项目中可用,没有重复的符号错误

ios - 为什么建议对委托(delegate)使用 _weak 引用

android - 是否可以在 Appium 中为设备定义自定义功能?

objective-c - 如何将变量的值与#define 进行比较

ios - 多次将UIImage压缩成JPEG图片数据

objective-c - 在不使用指针的情况下在 Objective C 中表示可能类型的最佳方法(指向指针的指针不是对象?)