हालांकि मैंने कोको बाइंडिंग के बारे में कई जानकारी खोजी है, फिर भी मैं अपने पास मौजूद जानकारी से अपेक्षाकृत असंतुष्ट हूं। ऐसा लगता है कि विषय कई लोगों के लिए कुछ परेशान है और बहुत से लोग इस पैटर्न से परहेज कर रहे हैं, जो मुझे विश्वास नहीं है। क्यों NSObjectController अगर मैं बाइंडिंग स्थापित कर सकते हैं की जरूरत है:NSObjectController का उपयोग क्यों करें
बेशक, यह लग सकता है कि बाइंडिंग कभी कभी भी जटिल या शायद बहुत ज्यादा भूमि के ऊपर के साथ बनाया गया है ...
हालांकि, मैं एक बहुत ही सीधा और विशिष्ट प्रश्न है सीधे?
उदाहरण के लिए, कोड:
[controller bind:@"contentObject" toObject:self withKeyPath:@"numberOfPieSlices" options:nil];
[slicesTextField bind:@"value" toObject:controller withKeyPath:@"content" options:nil];
[stepperControl bind:@"value" toObject:controller withKeyPath:@"content" options:nil];
बिल्कुल के रूप में एक ही है:
[slicesTextField bind:@"value" toObject:self withKeyPath:@"numberOfPieSlices" options:nil];
[stepperControl bind:@"value" toObject:self withKeyPath:@"numberOfPieSlices" options:nil];
मेरे मामले यहाँ में, हम वर्ग जो अंदर सब कुछ हो रहा है की संपत्ति के बारे में बात कर रहे हैं, इसलिए मैं NSObjectController की आवश्यकता का आकलन कर रहा हूं जब:
नियंत्रक के लिए मुख्य पथ वस्तु है और अन्य नियंत्रण के बंधन, उसके गुण की जरूरत है अपने मूल्य के लिए नहीं पुरातन और उनके आसपास रैपर के साथ जैसा भी मामला है (मेरे मामले में numberOfPiesSlices NSInteger है)
या जब बंधन अन्य बाहर वस्तुओं से की जरूरत है, न केवल वस्तुओं के बीच एक
क्या कोई इसे पुष्टि या अस्वीकार कर सकता है?
यूआई तत्वों की बाइंडिंग किसी ऑब्जेक्ट नियंत्रक या किसी अन्य चीज़ से बाध्य हो सकती है, जैसा कि यह सवाल में कहा गया है। तो ऑब्जेक्ट नियंत्रक किस कोड को खत्म करता है? –
वह कोड जहां आपने पहली जगह बाध्यकारी सेट की है - आप इसे एनबीओब्जेक्ट कंट्रोलर के साथ आईबी में कर सकते हैं। जब तक मैं गलत नहीं हूं और आप गैर-* नियंत्रक वस्तुओं के साथ आईबी में बाइंडिंग सेट कर सकते हैं? यदि ऐसा है तो ठीक करने के लिए खुश। – jrturton
आप आईबी या निब संपादक में एक सादे ऑब्जेक्ट पर बाध्यकारी सेट नहीं कर सकते हैं, लेकिन आप * सादे ऑब्जेक्ट को बाध्य कर सकते हैं। किसी ऑब्जेक्ट कंट्रोलर को इसके अलावा बाध्य करने के अलावा क्या उद्देश्य है- और यदि कोई नहीं है, तो उस ऑब्जेक्ट पर सीधे नियंत्रण क्यों न करें जिसे इसे समर्थन देने की आवश्यकता है? –