gpt4 book ai didi

ios - 如何混入 Objective-C 方法的完成 block ?

转载 作者:行者123 更新时间:2023-12-01 17:51:07 25 4
gpt4 key购买 nike

我们以这个方法为例:

+ (void)animateWithDuration:(NSTimeInterval)duration
animations:(void (^)(void))animations
completion:(void (^)(BOOL finished))completion

animatedWithDuration:animations:completion: 的不同或修改的实现中调配很简单。方法本身。如果我有兴趣为完成 block 执行此操作怎么办?

最佳答案

Swizzling 是指修改类或对象元数据,以便为给定的选择器调用不同的实现。 (这是一种非常脆弱且有些危险的技术,除非您非常清楚自己在做什么,否则通常应在生产代码中避免使用它,如果您知道,无论如何您都可能会避免它。当它爆炸时,它非常棒,使代码难以理解。然而,它对于调试和探索很有用。)

block 是一个值。它是一个函数字面量,就像 "1"是一个整数字面量或 @"string"是一个字符串文字。没有可混搭的对象或类。如果要修改值,则必须修改值,就像在示例中修改持续时间一样。

关于ios - 如何混入 Objective-C 方法的完成 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202389/

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