अद्यतन नहीं करता है मेरे पास मेरे मॉडल के लिए एक NSTextField है। यदि मैं प्रोग्राम फ़ील्ड की सामग्री को प्रोग्रामेटिक रूप से बदलता हूं, तो मॉडल अपडेट नहीं होता है। मुझे पता है कि आपको update the model instead माना जाता है।कोको बाइंडिंग के साथ, एनएसटीक्स्टफिल्ड के मूल्य को प्रोग्रामेटिक रूप से बदलना मॉडल
लेकिन मैं एक एनएसटीक्स्टफाल्ड सबक्लास को लागू करने की कोशिश कर रहा हूं जो स्क्रॉल को पहचानता है जबकि माउस इसके संख्यात्मक मूल्य को बदलने के लिए इसके ऊपर हो रहा है। जाहिर है, मेरे पास इस सबक्लास से मॉडल तक पहुंच नहीं है। तो आपके पास कोई सुझाव है कि मैं यह कैसे कर सकता हूं?
समाधान (नोआ करने के लिए धन्यवाद):
- (void)scrollWheel:(NSEvent *)theEvent {
[self setFloatValue:[self floatValue] - [theEvent deltaY]];
NSDictionary *bindingInfo = [self infoForBinding: NSValueBinding];
NSObject *boundObject = [bindingInfo valueForKey:NSObservedObjectKey];
NSString *keyPath = [bindingInfo valueForKey:NSObservedKeyPathKey];
[boundObject setValue:[NSNumber numberWithFloat:[self floatValue]]
forKeyPath:keyPath];
}
जैसा कि मैंने कहा, मैं बाइंडिंग का उपयोग कर रहा हूं। मेरा टेक्स्ट फ़ील्ड का मान मेरे मॉडल ऑब्जेक्ट की केवीओ-अनुरूप संपत्ति से जुड़ा हुआ है। मेरी समस्या यह है कि बाध्यकारी केवल मॉडल ऑब्जेक्ट की संपत्ति को अद्यतन करता है जब मैं टेक्स्ट फ़ील्ड के मान को हाथ से बदलता हूं, लेकिन जब यह प्रोग्रामेटिक रूप से परिवर्तित नहीं होता है। – DrummerB
मेरी गलती, मैंने सोचा कि बाध्य नियंत्रणों के प्रोग्रामेटिक अपडेट मॉडल को अपडेट करते हैं। मैं पोस्ट करने के लिए कुछ कोड की तलाश करूंगा। – paulmelnikow
दुर्भाग्य से यह मामला नहीं है। सहायता का प्रयास करने के लिए धन्यवाद! – DrummerB