循环引用错误

问题描述:

今天在做denizen puzzle的iPad版,Xcode有两个文件报错:

/Users/CouldHll/Desktop/Puzzle/Classes/StartButton.h:16:0 /Users/CouldHll/Desktop/Puzzle/Classes/StartButton.h:16: error: expected specifier-qualifier-list before 'StartLayer'

/Users/CouldHll/Desktop/Puzzle/Classes/StartLayer.h:16:0 /Users/CouldHll/Desktop/Puzzle/Classes/StartLayer.h:16: error: expected specifier-qualifier-list before 'StartButton'

问题分析:

仔细检查了一下,代码没有问题。检查着,突然发现这两个文件是circle reference,两个文件头都互相引用:

#import "StartLayer.h"

#import "StartButton.h"

问题解决:

一个改成@class StartLayer;

一个保持#import "StartButton.h"

一切安逸了。