gpt4 book ai didi

objective-c - 进行循环引用导入时出错

转载 作者:太空狗 更新时间:2023-10-30 03:28:01 25 4
gpt4 key购买 nike

我的程序运行良好,但我更改了一些东西,现在它有超过 48 个错误。

我想我知道问题所在,但我不知道如何解决。我为所有要派生的 UIViewController 创建了一个名为 mViewBase 的类。

我决定在所有 View 的底部都有一个导航栏,以转到其他名为 cakes2 的 View Controller 。所以cakes2.h导入mViewBasemViewBase导入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

最佳答案

您可以在一个头文件中使用前向声明以避免导入另一个头文件的需要。例如,在 mViewBase.h 中,您可以说:

@class Cakes2;

现在编译器知道“Cakes2”指的是一个类,您不需要导入整个 Cakes2.h 文件。

关于objective-c - 进行循环引用导入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com