gpt4 book ai didi

objective-c - block 内的时间分析代码

转载 作者:太空狗 更新时间:2023-10-30 03:45:52 27 4
gpt4 key购买 nike

如何使用 Instruments 分析 Block 中的代码?现在我只能看到 block 的总时间,但无法进入 block 内部查看时间消耗的位置。

举个例子,案例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];

}
}];

在情况 1 中,我无法分析函数内部并找出所消耗的时间;它只显示 block 的总时间。同样在情况 2 中,我只是得到总 block 的百分比;它不显示内部代码行的详细信息。

最佳答案

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

/*! \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 - block 内的时间分析代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22434874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com