iOS geliştirmede yeniyim ve başlık dosyamda bir sorunla karşılaşıyorum. Başlık dosyamda döngüsel bir bağımlılık sorunuyla karşılaşıyorum. Benim didFinishLaunchingWithOptions yönteminde görünümü kontrolörün özelliklerden birini ayarlamak zorunda beri yaptığım başvuru temsilci sınıfı Bu dairesel bağımlılığı nasıl çözebilirim?
//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
Ve görünümü kumandam
, ben "myFlag" özelliği başvuru ..., benim görünümü denetleyicisi bir gösterici içerir o ... benim app temsilci var//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
Ama benim app temsilci "myFlag" özelliği erişmek için, ben uygulama temsilcinizin başlık dosyalarını almaları gerekir. Dairesel bağımlılığa neden olan şey budur. Bunu nasıl çözeceğinden emin değil misiniz?
Yardımlarınız için şimdiden teşekkür ederiz!
+1 .. Harika bir soru. – iwasrobbed
Bunu seviyorum. \t yardım 5 tane daha gitme – Mel