मैं आईओएस विकास के लिए नया हूं और मेरी हेडर फाइलों के साथ किसी समस्या में भाग रहा हूं। मैं अपनी शीर्षलेख फ़ाइलों के साथ एक परिपत्र निर्भरता मुद्दे में भाग रहा हूं। मेरा आवेदन प्रतिनिधि वर्ग, मेरे विचार नियंत्रक के लिए सूचक होता है के बाद से मैं अपने didFinishLaunchingWithOptions विधि में दृश्य नियंत्रक के गुणों में से एक स्थापित करने के लिए है ...मैं इस परिपत्र निर्भरता को कैसे हल करूं?
//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" संपत्ति , कि मेरे ऐप प्रतिनिधि में है ...
//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" संपत्ति तक पहुँचने के लिए, मैं अनुप्रयोग प्रतिनिधि के हेडर फ़ाइल आयात करने की जरूरत है। यह परिपत्र निर्भरता का कारण बन रहा है। यह सुनिश्चित नहीं है कि इसे कैसे हल किया जाए, क्या इसमें कोई भी भाग लेता है?
आपकी मदद के लिए अग्रिम धन्यवाद!
+1 .. महान प्रश्न। – iwasrobbed
मुझे यह पसंद है। \t सहायता 5 और जाने के लिए .. – Mel