在我的控制器的头文件中,我需要声明另一个控制器的实例。我是通过以下方式做到的:
#import "BIDMyRootController.h"
#import "BIDAnotherController.h" //I import another controller's header
@interface BIDCurrentController : BIDMyRootController
//I declare an instance of another controller
@property (strong, nonatomic) BIDAnotherController *anotherController;
@end
上面的代码非常简单。没问题!
但我也注意到,或者,我可以用以下方式@class
替换我的#import
语句BIDAnotherController
:
#import "BIDMyRootController.h"
@class BIDAnotherController //I declare another controller with @class tag
@interface BIDCurrentController : BIDMyRootController
//I declare an instance of another controller
@property (strong, nonatomic) BIDAnotherController *anotherController;
@end
也没问题!
#import "BIDAnotherController.h"
但是我现在很困惑,如果它们都可以,那么它们之间有什么区别@class BIDAnotherController
???
更新:
对了,在 的实现文件中BIDCurrentController
,我又导入BIDAnotherController
了:
#import "BIDCurrentController.h"
#import "BIDAnotherController.h" //import another controller again
@implementation BIDCurrentController
...
@end