मेरे पास दो खिड़कियां हैं: विंडो ए को एनआईबी से लोड किया गया है; और विंडो बी प्रोग्रामेटिक रूप से बनाया गया है।बांधें: toObject: केपीपाथ के साथ: विकल्प: एक तरफा बाध्यकारी है?
दोनों खिड़कियों एक NStextView है: विंडो ए में TextView की attributedString एक मॉडल आईबी का उपयोग कर की संपत्ति text
के लिए बाध्य है; जबकि विंडो बी में टेक्स्टव्यू का जिम्मेदार स्ट्रिंग -[NSObject bind:toObject:withKeyPath:options:]
विधि का उपयोग कर मॉडल की संपत्ति text
संपत्ति से जुड़ा हुआ है।
[textview bind:@"attributedString" toObject:obj withKeyPath:@"text" options:nil];
यहाँ अजीब बात है: विंडो बी में TextView वास्तव में obj.text
के लिए बाध्य है, लेकिन TextView में परिवर्तन obj.text
के लिए अद्यतन कभी नहीं किया गया है। लेकिन, अगर मैंने विंडो ए के टेक्स्टव्यू में बदलाव किया है, तो obj.text
और विंडो बी में टेक्स्टव्यू तदनुसार अपडेट किया गया है।
तो मैं सोच रहा हूं, -[NSObject bind:toObject:withKeyPath:options:]
विधि केवल एक तरफा बाध्यकारी के लिए है। मुझे कोको दस्तावेज में स्पष्ट स्पष्टीकरण नहीं मिला। क्या किसी को इस समस्या का अनुभव है? कोड में दो-तरफा बाध्यकारी कैसे लागू करते हैं?
यह अभी भी मेरे लिए काम नहीं कर रहा था: यहां उपयोगकर्ता चूक के साथ उदाहरण है। मुझे जवाब मिला (मेरे मामले के लिए) -> http://stackoverflow.com/questions/1169097/can-you-manually-implement-cocoa- बाइंडिंग –
मुझे उपरोक्त लिंक किए गए प्रश्न की प्रासंगिकता के बारे में निश्चित नहीं है । यहां उल्लिखित बाध्यकारी दो एनएससींट्रोल वस्तुओं के बीच है - कोई कस्टम बाध्यकारी कार्यान्वयन आवश्यक नहीं है। – stevesliva