rog*_*one 6 profiling objective-c instruments objective-c-blocks
如何使用Instruments来分析块内的代码?现在我只能看到Block的总时间,但是无法进入块内部以查看时间消耗的时间.
例如,案例1:
if (completionBlock) {
completionBlock(mutableManagedObjects, mutableBackingObjects);
}
Run Code Online (Sandbox Code Playgroud)
和案例2:
[backingContext performBlockAndWait:^{
if (backingObjectID) {
backingObject = [backingContext existingObjectWithID:backingObjectID error:nil];
} else {
backingObject = [NSEntityDescription insertNewObjectForEntityForName:entity.name inManagedObjectContext:backingContext];
}
}];
Run Code Online (Sandbox Code Playgroud)
在案例1中,我无法在函数内部进行分析并找出消耗的时间; 它只显示了Block的总时间.在案例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];
}];
}];
Run Code Online (Sandbox Code Playgroud)