दिलचस्प पोस्ट
आईफ़ोन: एनएसएचटीटीपीकुकी एप पुनरारंभ में नहीं बचा है किसी बिंदु पर ज़ूम इन करें (स्केल और अनुवाद का उपयोग करके) बाइनरी के लिए पायथन int? फ्लोट और डबल के बीच printf और सह अंतर कैसे होता है जेफ्रेम आइकन से प्राप्त होने वाले आइकन के साथ अपनी फ़ाइल कैसे बनाएं, जो कि मैं इसे सेट करता हूं, जावा में और मेरी स्वयं की फ़ाइल FileOutputStream और ObjectOutputStream जीआईटी: मैं फॉक्ट्रॉट को अपने 'मास्टर' शाखा में कैसे विलीन कर सकता हूं? मैं सर्विस स्टैक्स प्रमाणीकरण कैसे बढ़ा सकता हूं सर्लेट में वास्तविक क्लाइंट आईपी प्राप्त करें mysqli: क्या यह एक कथन में कई क्वेरी तैयार कर सकता है? क्या मैं सॉकेट खोल सकता हूं और इसे लिनक्स में किसी अन्य प्रक्रिया में पास कर सकता हूं किसी भीड़-भाड़ वाले सॉर्ट के साथ लाखों चित्र कैसे रैंक करें ओरेकल में बहु-पंक्ति डालने का सबसे अच्छा तरीका है? सिंक में विकास रखने के लिए जीआईटी-बंडल का उपयोग कैसे करें? जीएचसीआई में मॉड्यूल में कार्य की सूची देखने का कोई तरीका है? कैसे std :: make_tuple का उपयोग करते समय कंस्ट्रक्टर के लिए अपरिभाषित निष्पादन आदेश से बचने के लिए

उद्देश्य- C #import लूप

मेरे पास निम्न कोड है:

#import <Foundation/Foundation.h> #import "ServerRequest.h" // works even though this line is included #import "ServerResponseRecord.h" @protocol ServerRequestDelegate<NSObject> -(void)request:(id)request gotResponseRecord:(ServerResponseRecord*)response; -(void)request:(id)request gotError:(NSError*)error; @end 

यह संकलन करता है और ठीक चल रहा है। हालांकि, अगर मैं विधि घोषणाओं को प्रतिस्थापित करता हूँ:

 -(void)request:(ServerRequest*)request gotResponseRecord:(ServerResponseRecord*)response; -(void)request:(ServerRequest*)request gotError:(NSError*)error; 

मुझे 'सर्वररूट' से पहले अनपेक्षित सिंटैक्स त्रुटि "त्रुटि: अपेक्षित ') मिलती है एकमात्र कारण मुझे लगता है कि यह एक समस्या हो सकती है कि ServerRequestDelegate.h और ServerRequest.h # एक दूसरे को आयात करें हालांकि, मुझे यह समझ में नहीं आता है कि कोड (आईडी) अनुरोध के साथ #import लाइन के साथ क्यों काम करता है मुझे यह भी समझ में नहीं आता है कि यह एक वाक्य रचना त्रुटि क्यों है

क्या कोई अच्छी स्पष्टीकरण प्रदान कर सकता है?

Solutions Collecting From Web of "उद्देश्य- C #import लूप"

आपने पहले ही स्पष्टीकरण पर संकेत दिया है: एक #import चक्र

सबसे पहले जो मैं करता हूं, वह #include को निकाल देता है और @protocol परिभाषा के ऊपर दी @protocol पंक्ति को @protocol :

 @class ServerRequest; 

यह एक अग्रेषित श्रेणी घोषणा है, और आयात लूप को तोड़ने में मदद कर सकता है। अधिक विवरण के लिए इस तरह के प्रश्न देखें इस गाइड में एप्पल का संक्षिप्त विवरण भी है

असल में, #import 'एक फाइल करने के कारण संकलक फ़ाइल में उस फ़ाइल का संपूर्ण पाठ प्रश्न में लाने का कारण बनता है, और यद्यपि #import "चालाक" #include तुलना में है, इसका मतलब यह नहीं है कि आप आयात त्रुटियों से प्रतिरक्षित हैं @class घोषणा कंपाइलर को यह बता देने का एक तरीका है कि कोई वर्ग हेडर आयात किए बिना मौजूद है। जब आपको केवल क्लास के नाम के बारे में जानने की ज़रूरत होती है, तो इसका उपयोग करना उचित है, लेकिन इसके तरीकों के बारे में परवाह न करें। सामान्यतः, आप .h फ़ाइल में @class का उपयोग करना चाहते हैं और @class फ़ाइल में #import का उपयोग करना चाहते हैं, जहां आप वास्तव में क्लास के साथ इंटरैक्ट कर रहे हैं।

#import "loops" एक समस्या नहीं है। #import #include के समान है, सिवाय इसके कि वह फाइलों को ट्रैक करता है और सुनिश्चित करता है कि प्रीप्रोसेसर केवल पहली बार उन्हें पढ़ता है

आम तौर पर जब आपको एक त्रुटि मिलती है, तो इसमें शामिल फ़ाइल में समस्या के कारण होता है। तो शायद त्रुटि ServerResponseRecord.h में है, ऐसा लगता है कि यह वास्तव में इसके द्वारा घोषित ऑब्जेक्ट का उपयोग करके ट्रिप किया जा रहा है। पूर्ण शीर्षलेख देखे बिना यह कहना संभव नहीं है कि क्या हो रहा है।