मेरे पास मेरे ContentView में एक मनाया गया ऑब्जेक्ट है जिसमें टैबव्यू शामिल हैं।
class GlobalValue: ObservableObject {
@Published var stringValue = ""
@Published var intValue = 0
}
struct ContentView: View {
@ObservedObject var globalValue = GlobalValue()
}
किसी एक टैब से मुझे ContentView के देखे गए ऑब्जेक्ट मान को बदलने की आवश्यकता है।
ContentView().globalValue.intValue=25
यह मूल्य नहीं बदल रहा है। मैं उस देखे गए ऑब्जेक्ट मान को कैसे बदल सकता हूं? धन्यवाद...
1 उत्तर
यह मूल्य बदल रहा है। समस्या यह है कि आप अपनी संरचना में स्थानीय रूप से GlobalValue के उदाहरण को तुरंत चालू कर रहे हैं। संरचना के बाहर इसका कोई जीवन नहीं है। मैं आप एक वैश्विक स्टोर के रूप में Observable Object
का उपयोग करना चाहता हूं, आपको इसे एक बार बनाने और उस उदाहरण का उपयोग करने की आवश्यकता है।
ऐसा करने का सबसे आसान तरीका है जोड़ना static let shared = GlobalValue()
अपनी कक्षा में, और अपनी संरचना में globalValue = GlobalValue.shared
का उपयोग करें जो अनिवार्य रूप से आपको एक सिंगलटन देता है। आपके पास एक उदाहरण होगा कि सभी विचार पढ़ और लिख सकते हैं।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
ios
iOS, Apple iPhone, iPod टच और iPad पर चलने वाला मोबाइल ऑपरेटिंग सिस्टम है। IOS प्लेटफॉर्म पर प्रोग्रामिंग से संबंधित प्रश्नों के लिए इस टैग [ios] का उपयोग करें। उन प्रोग्रामिंग भाषाओं के लिए विशिष्ट मुद्दों के लिए संबंधित टैग [उद्देश्य-सी] और [स्विफ्ट] का उपयोग करें।
ContentView()
जिसे आप देखने का एक नया उद्देश्य बना रहे हैं। आपको पर्यावरण वस्तुओं का उपयोग करना होगा।