0

我对外部和继承的使用有疑问。我正在使用 X-Code 在 Objective C 中编写一个 iOS 应用程序。

我有两个假设的类 B 和 C,它们都继承自类 A。

现在类 A 在它的头文件中导入一个名为 Constraints 的类,如下所示:#import "Constraints.h"。在约束的.H标头中,在@interface Constraints : NSObject上方但在导入下方声明了各种extern NSInteger const VAR_NAME值 。在 .M 实现中,外部变量被初始化,例如如下NSInteger const VAR_NAME = 1。再次将其放置在导入下方但在@implementation Constraints行上方。该文件旨在保存应用程序范围的全局约束。

但是,在执行此操作时,XCode 在构建时为在约束文件中声明为 extern 的每个变量在 B 类和 C 类中的重复符号报告一个 mach-o-linker 错误。

所以我当时所做的就是从父类 A 中删除类 Constraints 的导入,而是直接将其导入到类 B 和 C 中。但是,我遇到了同样的问题。

我已经在这个桌子上撞了几个小时了,任何帮助都将不胜感激。

4

1 回答 1

1

您可以发布产生错误的代码吗?这对我来说似乎是正确的,通常只是由错字引起的。我读过其他帖子,人们只是偶然导入了 .m 文件而不是 .h 文件,这通常会导致此错误。

于 2013-02-20T03:15:14.827 回答