क्या वैसे भी किसी अन्य वर्ग की संपत्ति का निरीक्षण करना है, जैसे आईओएस में सिंगलटन इंस्टेंस देखें। मैंने कोशिश की है, लेकिन मैं किसी अन्य वर्ग से कीपथ लिखने के लिए गर्म नहीं जानता।

[self addObserver:self forKeyPath:@"otherclass/keypath" options:NSKeyValueObservingOptionNew context:NULL];
-1
jacinzhang 30 अक्टूबर 2017, 13:07

2 जवाब

सबसे बढ़िया उत्तर

addObserver संदेश का प्राप्तकर्ता प्रेक्षित वस्तु है। तो यह आपके सिंगलटन का उदाहरण होना चाहिए। कीपथ को इस सिंगलटन की एक अवलोकन योग्य संपत्ति के नाम से शुरू होना चाहिए। उदा.:

[[SingletonClass instance] addObserver:self forKeyPath:@"propertyName" options:NSKeyValueObservingOptionNew context:NULL];

एक कीपथ में संपत्ति के नामों की एक श्रृंखला हो सकती है जो डॉट्स द्वारा अलग की जाती है। केवल उदाहरण के लिए: यदि आप कुंजी विंडो के रूट व्यू कंट्रोलर का निरीक्षण करना चाहते हैं, तो आप कर सकते हैं

[[UIApplication sharedApplication] addObserver:self 
    forKeyPath:@"keyWindow.rootViewController" 
    options:NSKeyValueObservingOptionNew context:NULL];
0
clemens 30 अक्टूबर 2017, 15:53

क्या आपने ऐसा करने की कोशिश की है:

[Otherclass addObserver:self forKeyPath:@"keypath" options:NSKeyValueObservingOptionNew context:NULL];
0
TawaNicolas 30 अक्टूबर 2017, 13:27