2011-01-16 15 views
32

मैक ओएस एक्स के लिए कोको कोको बाध्यकारी तकनीक का समर्थन करता है, जो आपके विचारों और आपके मॉडल के बीच गोंद कोड की आवश्यकता को कम करता है।क्या कोई तकनीकी/वैचारिक कारण है कि आईओएस कोको बाइंडिंग का समर्थन नहीं करता है?

केवीओ पर केवीसी के शीर्ष पर कोको बाइंडिंग को दोबारा बनाने से कोकोट्रॉन स्रोत कोड से मदद मिलती है।

क्या कोई तकनीकी या वैचारिक कारण है कि कोको बाइंडिंग एसडीके का हिस्सा क्यों नहीं हैं? मैं प्रदर्शन, कचरा संग्रह की कमी, UI तत्वों से केवीसी समर्थन की कमी (उदाहरण के लिए UISlider) के बारे में सोच रहा हूं। डेस्कटॉप पर

+2

कोको बाइंडिंग कचरा संग्रह से काफी पहले अस्तित्व में था, इसलिए आप इसे बाहर कर सकते हैं। –

+4

मैंने एक सरल (यानी कोई मूल्य ट्रांसफॉर्मर) बाइंडिंग-जैसी तंत्र नहीं बनाई है: https://github.com/mruegenberg/objc-utils/tree/master/CoreFoundationAdditions में NSObject + SimpleBindings को इस समय कोई इंटरफ़ेस बिल्डर समर्थन नहीं मिला है, लेकिन यह कोड को सरल बनाने में मदद करता है। – mrueg

उत्तर

7

बाइंडिंग की आवश्यकता है:

  1. सभी उपयुक्त UI घटक चयन

निपटने iOS पर के लिए अपने महत्वपूर्ण गुणों

  • NSArrayController बुनियादी ढांचे के कार्यान्वयन के लिए बाइंडिंग का पर्दाफाश करने, बिंदु 2 कम हो जाता है एक मुद्दे का। मास्टर-विस्तार दृश्य लेआउट रखने के लिए यह दुर्लभ (और शायद एक खराब यूआई डिज़ाइन) है जहां एकाधिक चयन संभव है। यह वह जगह है जहां NSArrayController वास्तव में अपने आप में आता है। एक UITableView वर्तमान NSArrayController डिजाइन के रूप में कम व्यावहारिक बनने के लिए

    बाइंडिंग कई वर्गों के लिए खिंचाव नहीं है, शीर्षक आदि

    प्वाइंट 1 के लिए उपयोगी होगा। हालांकि, सभी यूआईकिट नियंत्रणों में बाइंडिंग समर्थन को लागू करने के लिए ऐप्पल द्वारा बड़ी मात्रा में काम की आवश्यकता होती है। मुझे लगता है कि यह लागू करने के लिए कभी भी उच्च प्राथमिकता नहीं बनता है।

  • +0

    माइक, आपके उत्तर के लिए धन्यवाद। –

    +2

    इस पार्टी के लिए देर हो चुकी है, लेकिन NSTreeController को मत भूलना। यद्यपि आप चाहें कि आप (बीए-डम टिश) कर सकते हैं। असल में उन्होंने इसे ठीक किया। लेकिन यह मुझे लगता है कि टेबलव्यू अनुभागों को संभाला हो सकता था। साथ ही, एकाधिक चयन वर्तमान में संपादन मोड में अनुकरण किया गया है। स्पर्श इंटरफेस की सीमा (कोई संशोधक कुंजी नहीं) को देखते हुए, यही वह है जिसे हम अटक गए हैं। लेकिन मुझे लगता है कि जब आप फ़िल्टर की गई सूची को संपादित करना चाहते हैं तो आईपैड पर एक सरणी नियंत्रक मास्टर-विस्तार के साथ बहुत अच्छा होगा। –

    +4

    मैक ओएस एक्स ऐप्स के लिए अक्सर अपने यूआई में चेकबॉक्स और टेक्स्टफील्ड में अपने '@ गुण' को बांधता हूं ... आईओएस में ऐसा करने में सक्षम होना अच्छा होगा। मुझे ऐसा लगता है कि ऐप्पल ने इसे शामिल नहीं किया है क्योंकि यह डीबग करना मुश्किल है ... जब आप कोको बाध्यकारी गड़बड़ करते हैं तो आपको जो स्टैक ट्रेस मिलता है वह एसडीके के भीतर कॉल से भरा होता है जिससे इसे ढूंढना मुश्किल हो जाता है आपने क्या गलत किया है। – ArtOfWarfare

    संबंधित मुद्दे