RMD*_*Dan 2 xcode header-files ios
我不知道它是否是XCode中的一个缺陷或者我在Obj-C中缺乏经验但是我遇到了一个问题,试图在一个包含指向另一个的指针的类中创建属性,而另一个类有一个属性包含指向第一个类的指针.
我知道上面的内容可能不太清楚,但希望这个例子说明我的意思:
//Class Journal.h
@property (strong) JournalVC *JVC
//Class JournalVC.h
//IVar
Journal *_Journal
Run Code Online (Sandbox Code Playgroud)
在这两个类中,我导入另一个的头,因此XCode知道另一个的类.如果我不导入标题,它会抱怨它不知道属性/ IVar应该是什么类型,并且想要用它来替换它(JournalVC作为Journal反之亦然).当两个类都具有另一个的头的import语句时,也会发生这种情况.
如果只有一个人知道另一个,就不会发生这种情况.当JournalVC被UIVIewController(它的父类)替换而没有import语句时,它可以工作,而IVar保持不变,并且标头导入另一个.
我认为问题是两个标头互相导入,这导致与XCode混淆.有没有其他方法让其中一个头文件知道该属性的类没有这个问题?
您可以使用@class前向声明.不要进行圆形标题导入; 相反,只需在JournalVC标题中使用以下行声明Journal类:
@class Journal;
Run Code Online (Sandbox Code Playgroud)
然后,执行传统的标头导入JournalVC.m.有关详细信息,请参阅此问题.
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |