gpt4 book ai didi

ios - 如何为所有 push segues 设置符号断点?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:10:14 25 4
gpt4 key购买 nike

我目前正在调试我的应用程序,并且在执行 segue 时遇到问题,但我终究无法弄清楚它是从哪里调用的。

我想知道是否可以添加一个断点,以便应用暂停并显示调用它的行?

我试图添加一个符号断点,但无法让它工作。

最佳答案

为 UIViewController 创建类别并将其添加到其中:

+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];

SEL originalSelector = @selector(prepareForSegue:sender:);
SEL swizzledSelector = @selector(yd_prepareForSegue:sender:);

Method originalMethod = class_getInstanceMethod(class, originalSelector);
Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector);

BOOL didAddMethod = class_addMethod(class, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod));

if (didAddMethod) {
class_replaceMethod(class, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
});
}

- (void)yd_prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[self yd_prepareForSegue:segue sender:sender];
NSLog(@"prepareForSegue From: %@", self);
}

关于ios - 如何为所有 push segues 设置符号断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34593984/

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