Контроллер Какао импортирует Модель, Импортирует модель Контроллер -> Исключение - PullRequest
2 голосов
/ 20 мая 2010

почему в Какао невозможно, чтобы два Класса импортировали друг друга?Я попробовал следующий код:

Controller.h:

#import <Cocoa/Cocoa.h>
#import "Model.h"

@interface Controller : NSObject {
 Model *model;
}

@end

Model.h:

#import <Cocoa/Cocoa.h>
#import "Controller.h"

@interface Model : NSObject {
 Controller *controller;
}

@end

, который вызывает следующие исключения:

error: expected specifier-qualifier-list before 'Controller'
error: expected specifier-qualifier-list before 'Model'

Может кто-нибудь объяснить, почему это так?

Спасибо!xonic

Ответы [ 2 ]

0 голосов
/ 20 мая 2010

Объясните почему? Нет.

Но решение состоит в том, чтобы использовать объявление @class следующим образом:

@class Model;
@interface Controller : NSObject {
 Model *model;
}
@end
0 голосов
/ 20 мая 2010

Решением для этого является то, что: Model.h:

#import <Cocoa/Cocoa.h>
#import "Controller.h"

@class Controller;
@interface Model : NSObject {
 Controller *controller;
}

@end

И вы сделали с этим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...