我的程序运行正常,但我改变了一些东西,现在它有超过48个错误。
我想我知道这个问题,但我不知道如何解决它。我为我的所有mViewBase
创建了一个名为UIViewController
的类。
我决定在我的所有视图底部都有一个导航栏,转到其他名为cakes2
的视图控制器。所以cakes2.h导入mViewBase
,mViewBase
导入cakes2.h
您必须能够在Objective-C中执行此操作。有没有人知道我能做什么?
我的mViewBase.h文件:
#import <UIKit/UIKit.h>
#import "Cakes2.h"
@interface mViewBase : UIViewController {
UIView *mBackground;
UIView *mBackArrow;
UITextView *mTitle;
// Cakes2 *mCakes;
}
-(void) aSetTitle: (NSString *) NewTitle;
-(IBAction) aBack: (id) tender;
-(IBAction) aHome: (id) sender;
-(IBAction) aCakes: (id) sender;
-(IBAction) aCall: (id) sender;
-(IBAction) aDirections: (id) sender;
@end
我的Cakes2.h文件:
#import <UIKit/UIKit.h>
#import "Gallery.h"
#import "WebView.h"
#import "mViewBase.h" // Circular reference! But I need it
@interface Cakes2 : mViewBase <UITableViewDelegate, UITableViewDataSource> {
// Gallery *mGallery;
IBOutlet UITableView *mMenu;
// WebView *mWebView;
}
-(IBAction) aOpenWeb;
@end
答案 0 :(得分:19)
您可以在其中一个头文件中使用转发声明,以避免导入其他标头。例如,在mViewBase.h中,您可以说:
@class Cakes2;
现在编译器知道“Cakes2”指的是一个类,你不需要导入整个Cakes2.h文件。
答案 1 :(得分:0)
我认为您应该考虑使用UITabBarController
。它专门用于管理屏幕底部栏的多个视图控制器。