首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何解决此循环依赖关系?

如何解决此循环依赖关系?
EN

Stack Overflow用户
提问于 2010-08-15 06:09:36
回答 1查看 5.7K关注 0票数 16

我是iOS开发的新手,我的头文件遇到了一个问题。我的头文件遇到了循环依赖问题。我的应用程序委托类包含一个指向视图控制器的指针,因为我必须在didFinishLaunchingWithOptions方法中设置视图控制器的一个属性...

代码语言:javascript
复制
//appDelegate.h     //DISCLAIMER: THIS IS UNTESTED CODE AND WRITTEN ON THE FLY TO ILLUSTRATE MY POINT
#import <UIKit/UIKit.h>
#import "MyViewController.h"

@interface appDelegate

     NSManagedObjectContext *managedObjectContext;

     MyViewController *viewController;
     BOOL myFlag;

@end

//appDelegate.m
@implementation appDelegate

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
     viewController.managedObjectContext = self.managedObjectContext;
     .
     .
     .
}
@end

在我的视图控制器中,我引用了应用程序委托中的"myFlag“属性……

代码语言:javascript
复制
//MyViewController.h                                        
#import "appDelegate.h"     //<---circular dependency, causing "Expected specifier-qualifier-list before MyViewController" errors in my appDelegate header file

@interface MyViewController: UIViewController
{
     NSManagedObjectContext *managedObjectContext;
}
@end

//MyViewController.m
@import "MyViewController.h"

@implementation MyViewController

- (void)viewWillAppear:(BOOL)animated
{
     [super viewWillAppear:animated];

     ((appDelegate*)[[UIApplication sharedApplication] delegate]).myFlag = NO;
}

@end

但是为了访问我的应用程序委托中的"myFlag“属性,我需要导入应用程序委托的头文件。这就是导致循环依赖的原因。不知道如何解决这个问题,有没有人遇到过这个问题?

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2010-08-15 06:13:41

我没有读取所有内容,但您可以使用@class进行转发声明。通常我是如何解决循环依赖的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3485314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档