如何使用仪器在代码块中分析代码?现在,我只能看到该块的总时间,而不能进入该块以查看消耗时间。

例如,情况1:

if (completionBlock) {
    completionBlock(mutableManagedObjects, mutableBackingObjects);
}

和情况2:
[backingContext performBlockAndWait:^{

    if (backingObjectID) {

        backingObject = [backingContext existingObjectWithID:backingObjectID error:nil];
    } else {
        backingObject = [NSEntityDescription insertNewObjectForEntityForName:entity.name inManagedObjectContext:backingContext];

    }
}];

在第一种情况下,我无法剖析该函数的内部并找出所花费的时间;它仅显示该块的总时间。同样在情况2中,我只是得到总块的百分比;它没有显示内部代码行的详细信息。

最佳答案

创建单独的块并检查每个块的配置文件。

/*! \brief check first for backingContext as it is not set yet up here
if (backingObjectID) {

    [backingContext performBlockAndWait:^{

        backingObject = [backingContext existingObjectWithID:backingObjectID error:nil];
    }];

} else {

    [backingContext performBlockAndWait:^{

    backingObject = [NSEntityDescription insertNewObjectForEntityForName:entity.name inManagedObjectContext:backingContext];
    }];

}];

关于objective-c - 块内的时间分析代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22434874/

10-13 04:02