ios - 为什么 Xcode 使用 __block 进入未调用的函数断点?

标签 ios objective-c xcode block

@interface DemoClass()
@property dispatch_queue_t queue;
@end

@implementation DemoClass

-(instancetype)init
{
    if (self = [super init]) {
        self.queue = dispatch_queue_create("ccccc", DISPATCH_QUEUE_SERIAL);
    }
    return self;
}

-(void)notCallFunction
{
    dispatch_async(self.queue, ^{
        __block NSDate *noUse = nil;
        NSLog(@"notCallFunction:%@",noUse);
    });
}

-(void)doSomething
{
    __block NSError *error = nil;
    dispatch_async(self.queue, ^{
        error = nil;//when add this line,notCallFunction can enter "__block NSDate *noUse =     nil" break point
        NSLog(@"doSomething");
    });
}

当我在 __block NSDate *noUse = nil; 中设置断点时 并调用 doSomething,Xcode 找到行 __block NSDate *noUse = nil

最佳答案

我以前遇到过类似的问题。关闭调试构建的编译器优化 (-O0) 为我修复了它。

关于ios - 为什么 Xcode 使用 __block 进入未调用的函数断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29491105/

相关文章:

iphone - CALayer蒙版去除?

ios - watchkit 中的 LongPressGestureRecognizer

ios - 在第一个请求完成后发送第二个请求

ios - 我可以将 Apple 的 TestFlight 与 Xcode 5 一起使用吗?

php - 服务器能否在用户不知情的情况下将更改通知 iOS/Android 应用程序?

更新到 10.3 后 iOS 应用程序崩溃。无法添加照片

objective-c - 如何以编程方式更改 Dock 首选项?

ios - 将UIColor作为字符串存储在NSMutableArray中,但无法显示颜色

xcode - 在 xcode 3.2.5 上安装 iOS SDK 4.1

ios - 应用程序图标未显示,尽管我已在 Xcode 5 中添加