gpt4 book ai didi

ios - 类别+加载时间问题

转载 作者:行者123 更新时间:2023-11-29 13:05:52 27 4
gpt4 key购买 nike

我有一个类层次结构如下

@interface PTLDatasource : NSObject
...
@interface PTLFetchedDatasource : PTLDatasource
...

我想为这些在协议(protocol)中定义并在类别中实现的类添加特定于平台的扩展:

@protocol PTLTableViewDatasource
- (void)foo;
...
@interface PTLDatasource (TableViewExtensions) <PTLTableViewDatasource>
...
@interface PTLFetchedDatasource (TableViewExtensions) <PTLTableViewDatasource>
...

-foo: 的基本实现在 PTLDatasource 类别中完成。但是,我还需要 -foo: 的自定义实现在 PTLFetchedDatasource 中,然后可能回退到 PTLDatasource 实现。

目前我正在尝试调整 PTLFetchedDatasource (TableViewExtensions) 中的实现在 +load ,但我遇到了 +load 的问题在 PTLFetchedDatasource (TableViewExtensions)+load 之前调用在 PTLDatasource (TableViewExtensions) ,所以 swizzling 失败,因为 -foo: 的 PTLDatasource 实现尚不存在。

有没有办法解决这个加载时间问题?

我什至需要调配吗?我知道在类别中重写类成员方法是不行的,但我可以调用 [super foo:] 吗?来自 PTLFetchedDatasource (TableViewExtensions)实现?

谢谢。

最佳答案

Mike Ash 向我确认调配是不必要的,我可以直接调用 super。覆盖类别方法的唯一问题是它是否在同一个类上多次完成。

关于ios - 类别+加载时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660778/

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