दिलचस्प पोस्ट
आपके प्रमाणीकरण एजेंट से कोई कनेक्शन नहीं खोला जा सका कैसे सी में मुफ्त और malloc काम करते हैं? मैं उसी लाइन को कैसे प्रिंट कर सकता हूं? जावास्क्रिप्ट में डुप्लिकेट युक्त एक सरणी से विशिष्ट मानों की सरणी कैसे प्राप्त करें? तैयार कथन में "पसंद" वाइल्डकार्ड का उपयोग करना स्ट्रिंग पर स्विम का एक ट्रिम विधि है? साझा लाइब्रेरी लोड करते समय स्वत: निष्पादित फ़ंक्शन सी ++ 11 में "ऑटो" के साथ अनुमानित लैम्ब्डा का क्या प्रकार है? एक संपत्ति जोड़ने के लिए उप-वर्ग UIButton पोस्टग्रेर्स सर्वर से कनेक्ट नहीं हो सके OSX एल कैपिटन: सुडो पीआईपी ओएसईआरआर स्थापित करें: ऑपरेशन की अनुमति नहीं है पृष्ठ नीचे में एक पाद लेख कैसे तय किया जाए LINQ में इकाईयों में थोक-हटाना समय-सीमा वाले ट्यूप्ले की एक सूची को मर्ज करना, जो समय-सीमाओं को ओवरलैप करते हैं सीएसएस में फ़ॉन्ट विस्मयकारी आइकन का उपयोग करें

क्या विंडो को संश्लेषण करता है खिड़की = _विंडो करता है?

मैं समझता हूं कि @synthesize window; @property के साथ संयोजित आपके सेटर्स और @property 'ऑटो- @property ' बनाता है, लेकिन मुझे यकीन नहीं है कि जब आप एक वैल्यू असाइन करते हैं तो क्या होता है

  @synthesize searchBar = _searchBar; 

क्या इसका मतलब यह है कि मैं स्वयं का उपयोग करने के बजाय अपने तरीकों के बजाय _searchbar का उपयोग कर सकता हूं।

क्या यह इस प्रतिनिधि विधि के साथ उदाहरण के लिए आईवर नामों के संघर्ष को रोकने के लिए है:

 - (void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 

क्या यह self.searchBar की तुलना में searchBar के बराबर है self.searchBar searchBar या फिर उन दो समान हैं?

वेब के समाधान से एकत्रित समाधान "क्या विंडो को संश्लेषण करता है खिड़की = _विंडो करता है?"

आपके गुणों में लगभग हमेशा एक बैकिंग चर होता है क्या

 @synthesize searchBar = _searchBar; 

क्या घोषित करता है कि आपकी खोज पट्टी के लिए बैकिंग वैरिएबल को _searchBar कहा जाएगा यह आपको अपने चर के नाम से संपत्ति के नाम को दोहराने की अनुमति देता है वास्तव में, यदि आप @synthesize उपयोग नहीं करते हैं, तो आपको बैकिंग वैरिएबल की आवश्यकता नहीं है।

लोग ऐसा क्यों करते हैं, सभी के पास अलग-अलग कारण हैं व्यक्तिगत रूप से, मैं इसे करने के लिए करते हैं

  1. वेरिएबल के नाम से झड़पों से बचें और
  2. इसे स्पष्ट कर दें जब मैं एक स्थानीय चर का उपयोग कर रहा हूं और जब मैं एक आवृत्ति चर का उपयोग कर रहा हूँ

सिंटैक्स को दस्तावेज़ में वर्णित किया गया है – देखें प्रॉपर्टी इम्प्लीमेंटेशन डायरेक्टिव्स ।

इंस्टेंस वैरिएबल नाम बदलने के कारण सीधे पहुंच को हतोत्साहित करना ठीक है। एक अधिवेशन सम्मेलन द्वारा उपयोग किया जाता है (नोट: यद्यपि कोडिंग दिशानिर्देश वर्तमान में एक अंडरस्कोर का उपयोग करने के बारे में चेतावनी देते हैं, यह सलाह पुरानी है।)

फिर दस्तावेजों के अनुसार ( एसेसर मेथड्स का उपयोग देखें), इनट और डेअलोक तरीकों के अलावा, आपको हमेशा एक्सेसर तरीके का उपयोग करना चाहिए। यह सुनिश्चित करने के लिए कि आप मेमोरी को सही ढंग से प्रबंधित करते हैं, और यदि उपयुक्त हो तो आप केवीओ परिवर्तन सूचनाओं का उत्सर्जन करते हैं, तो आप सेट एक्सेसर्स का उपयोग करें। आप यह सुनिश्चित करने के लिए एक्सेसर्स प्राप्त करते हैं कि संपत्ति सही ढंग से आरंभिक है ऐसे कई सामान्य स्थान हैं जहां गुण प्रारंभिक रूप से शुरू किए जाते हैं; यदि आप एक्सेसर का उपयोग नहीं करते हैं, तो आपको शून्य मिलता है …

सीधी पहुंच का एक उदाहरण: कोर डेटा टेम्पलेट्स का उपयोग करना, यदि आपने उपयोग किया है:

 NSFetchRequest *request = ...; NSError *error = nil; NSArray *results = [__managedObjectContext executeFetchRequest:request error:&error]; 

के बजाय

 NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error]; 

तब – क्योंकि प्रबंधित ऑब्जेक्ट प्रसंग एक्सेसरीयर विधि में सुस्त तरीके से बनाया गया है – आप अंत में संदेश भेज सकते हैं और कोई परिणाम नहीं प्राप्त कर सकते हैं।

 @synthesize searchBar = _searchBar; 

उदाहरण के लिए "सर्चबार" (आदि) नामक एक गेटर विधि बनाने के लिए कहते हैं, _searchbar

_ खोजब्राअर परिवर्तनीय पर अंडरस्कोर का आमतौर पर अर्थ है "मुझे सीधे प्रवेश न करें जब तक कि आप वास्तव में नहीं जानते कि आप क्या कर रहे हैं। कृपया इसके बजाय प्राप्तकर्ता और सेटर विधियों का उपयोग करें!"।