我正在制作一个 Mac OS X 应用程序,我试图让班级彼此了解
控制器创建 View1 和 View2
BaseView 具有 Controller 的属性
View1 和 View2 从 BaseView 扩展而来
这是我的例子
控制器类
#import <Cocoa/Cocoa.h>
#import "View1.h"
@class View1;
@interface Controller : NSViewController
{
View1 *_view1;
}
@end
//////
#import "Controller.h"
@implementation Controller
- (id) init
{
self = [super init];
if( self )
{
_view1 = [[View1 alloc] initWithFrame:CGRectZero];
_view1.controller = self;
}
return self;
}
@end
BaseView 类
#import <Cocoa/Cocoa.h>
#import "Controller.h"
@class Controller;
@interface BaseView : NSView
{
Controller *_controller;
}
@property (nonatomic,assign) Controller *controller;
@end
//////
#import "BaseView.h"
@implementation BaseView
@synthesize controller = _controller;
@end
查看示例类
#import "BaseView.h"
@interface View1 : BaseView
@end
//////
#import "View1.h"
@implementation View1
@end
但它给了我这个错误:
Controller.m:23:16: Property 'controller' cannot be found in forward class object 'View1'
我做错了什么?