gpt4 book ai didi

objective-c - 带类别的 NSManagedObjects

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

我认为将 NSManagedObject 的自定义代码放在子类的类别中是一种常见的做法,因为 Xcode 会在编辑模型时覆盖您生成的子类。我只是想确认这一点。我见过一些例子,人们说将类别与已经在类层次结构中实现的方法结合起来是不好的。我不确定这是否仅适用于具有实际类别的类已经实现该方法的情况,还是适用于所有情况。

最佳答案

覆盖类别中的方法的问题是您不能像通常使用[super doSomething] 那样调用原始实现。通常,当您重写一个方法时,您仍然希望能够在执行原始实现之前和/或之后调用原始实现来做一些额外的事情。

一个相当干净的解决方案是让 Xcode 生成您不直接接触的 NSManagedObject 子类。相反,为每个 Xcode 生成的 NSManagedObject 子类创建另一个自定义子类,您可以编辑它而不必担心它被覆盖。

Wolf Rentzsch 的 mogenerator本质上使用这种方法,并且另外生成一些 Xcode 不生成的方便的方法。可能值得一试,因为它可能是一个有用的工具,但 mogenerator 不是执行您尝试执行的操作所必需的。

关于objective-c - 带类别的 NSManagedObjects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9297101/

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