दिलचस्प पोस्ट
उपयोगकर्ता छवियां – डाटाबेस बनाम फाइलसिस्टम स्टोरेज अनाम वर्ग की एक सामान्य सूची SQL में दूसरे कॉलम के प्रत्येक मान के लिए सबसे सामान्य मान प्राप्त करें एक विशिष्ट प्रतिबद्ध करने के लिए आप कैसे एक जीआईटी भंडार वापस (रीसेट) रोल? जावा सार इंटरफ़ेस पायथन: सूचियों की सूची कोड के साथ समस्या: प्रारूप स्ट्रिंग स्ट्रिंग का शाब्दिक नहीं है कैसे PHP में स्कैंडर का उपयोग केवल छवियों को पाने के लिए? मैं जासूस ++ चाहता हूं लेकिन मेरे पास विजुअल स्टूडियो नहीं है C ++ में घड़ी () का उपयोग कैसे करें Jqgrid 3.7 इंटरनेट एक्सप्लोरर में पंक्तियों को प्रदर्शित नहीं करता है PHP – अजाक्स के साथ लूप डेटा जबकि फ्लशिंग "हाँ" और "नहीं" विकल्प के साथ एक संवाद कैसे बनाएं? अरबी भाषा के लिए नियमित अभिव्यक्ति नेट पर कोई अच्छा UIScrollView ट्यूटोरियल हैं?

उद्देश्य- 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 लाइन के साथ क्यों काम करता है मुझे यह भी समझ में नहीं आता है कि यह एक वाक्य रचना त्रुटि क्यों है

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

वेब के समाधान से एकत्रित समाधान "उद्देश्य- C #import लूप"

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

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

 @class ServerRequest; 

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

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

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

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