Mat*_*ijn 3 import cocoa objective-c
对不起,找不到更合适的标题.
在我的代码中,我有两个应该知道彼此存在的类.所以我使用一个指向另一个类的实例变量.为了工作(我猜?)应该导入其他类头文件,以便它知道它有哪些方法等.
这是我的代码(剥离)
MainMenuController.h:
#import <Cocoa/Cocoa.h>
#import "IRCConnection.h"
@interface MainMenuController : NSViewController {
IRCConnection *ircConnection;
}
@property (strong) IRCConnection *ircConnection;
@end
Run Code Online (Sandbox Code Playgroud)
IRCConnection.h:
#import <Foundation/Foundation.h>
#import "MainMenuController.h"
@interface IRCConnection : NSObject {
MainMenuController *mainMenuController;
}
@property (strong) MainMenuController *mainMenuController;
@end
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它们都互相导入,但这会在一个中创建一个错误(未知类型名称'IRCConnection'),而在另一个未知类型名称'MainMenuController'中.
但是,当连接只是一种方式(例如,只有MainMenuController知道IRCConnection),因此在其中一个中只有一个import语句,它工作正常.
我怎么能让他们互相了解?在两个方面.
希望这个问题有道理.
您可以从中删除导入IRCConnection.h并使用@class语句.
像这样:
#import <Foundation/Foundation.h>
@class MainMenuController;
@interface IRCConnection : NSObject {
Run Code Online (Sandbox Code Playgroud)
然后添加一个#import "MainMenuController.h"到IRCConnection.m
| 归档时间: |
|
| 查看次数: |
1804 次 |
| 最近记录: |