我是客观C的新手。
我的应用包含2个视图控制器。 v1和v2
我需要在添加中使用第三方SDK。标头是DTDevice.h。
我在v2中使用了这个函数,所以我在我的v2.h文件中导入了DTDevice.h。但是我需要将一个字符串从v1传递给v2。所以我在v1.h中导入v2.h
应用程序构建失败,因为DTDevice.h中的某个属性会抱怨重复的符号。
我的问题是如何在v1.h中没有引用v2.h的情况下将字符串从v1传递到v2。
非常感谢
答案 0 :(得分:0)
不使用导入,而是对头文件使用预定义。
例如,如果您需要MyClass
个对象,而不是执行#import "MyClass.h"
,则可以通过@class MyClass
预先声明它。预先准备以及导入在@interface
阻止之前进行。
当然,您必须通过标准MyClass
.m
中导入#import "MyClass.h"
根据经验,尽量避免导入.h
文件以支持预先声明。对于使用@class
的类@protocols
,请使用{{1}}。这样可以避免导入周期。