"-6ren"> "-Screenshots 我很难为我制作的类(class)设置类别。据我所知,Objective-C 允许您在任何 类上创建类别,而不仅仅是闭源类。 (老实说,这在任何其他方面都没有意义。) 当然,我可-6ren">
gpt4 book ai didi

objective-c - "Cannot find interface declaration for "

转载 作者:太空狗 更新时间:2023-10-30 03:51:19 25 4
gpt4 key购买 nike

Screenshots

我很难为我制作的类(class)设置类别。据我所知,Objective-C 允许您在任何 类上创建类别,而不仅仅是闭源类。 (老实说,这在任何其他方面都没有意义。)

当然,我可以将类别消息添加到实际的类文件中,但我想将它们分开(因为类别是类的一种罕见的特殊用途,可以非常普遍地使用)。我想分享类(class),但要将类别保密...无论如何。

我已经删除了类别以仅显示手头的问题。我(目前)在第一类消息中收到四个错误。我在那条线上收到的错误数量与它被引用的次数成正比,但并不是均匀上升。有谁知道是什么原因造成的?

最佳答案

您的 Resources.h 文件由 ByteCollection.h 导入,导入 ByteCollection+words.h。因此,当 ByteCollection+words.h 导入 ByteCollection.h 时,这会导致循环依赖†。打破循环依赖的最简单方法是将其中一个导入移动到实现文件而不是 header 。看起来这应该可以通过 Resources.h 实现。

† 您可能想知道,如果您有循环依赖,为什么会出现问题?好吧,#import 指令实际上只是以文本方式包含您指定的文件,就像您复制粘贴一样。它还智能地不包含一个文件两次,因为那样会创建重复的代码。但这意味着当文件 A 说“我希望文件 B 先于我”而文件 B 说“我希望文件 A 先于我”时,其中一个会很失望,这会导致像那个错误你到了。

关于objective-c - "Cannot find interface declaration for <class>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11022964/

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