Pea*_*wer 1 pointers scope objective-c
如何在objective-c中使用循环#import强类型对象
我有一个音频控制器类,一个菜单类和一个游戏视图类.
应用程序委托设置这些类并分配指针,以便:
菜单类知道音频和gameview类,gameview类具有对音频和菜单类的引用
我正在使用NSObject来从菜单类引用gameview类.这是因为菜单类具有对gameview类的引用,并且具有#import gameview.h声明.代码不会使用循环#import进行编译
建议请:)?
@interface MenuViewController : UIViewController {
NSObject *gameref; // weak type here to avoid include of gameview above
AudioController *audioref;
}
Run Code Online (Sandbox Code Playgroud)
和...
#import "AudioController.h"
#import "MenuViewController.h"
@interface GameViewController : UIViewController {
MenuViewController *menuref;
AudioController *audioref;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
Fisrt,在你的.h文件中使用
@class GameViewController, AudioController
Run Code Online (Sandbox Code Playgroud)
和
@class AudioController, MenuViewController
Run Code Online (Sandbox Code Playgroud)
在你的.m文件中使用
#import "GameViewController"
#import "AudioController"
Run Code Online (Sandbox Code Playgroud)
和
#import "AudioController.h"
#import "MenuViewController.h"
Run Code Online (Sandbox Code Playgroud)
没有"循环引用"问题.其次,使用NSObject而不是实际的classname绝不是弱引用.另外,如果你的意思是#include说#include.如果你的意思是#import,请说#import.