SwiftUI Academy · पाठ

Views को ViewModels से bind करना

view model properties की सहायता से view संचालित कीजिए।

पाठ 3, कुल 4 में से13 चरण

Views को ViewModels से bind करना, CoddyKit पर SwiftUI Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SwiftUI Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SwiftUI Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

ViewModel का स्वामित्व

जो दृश्य ViewModel बनाता है, उसी का उस पर स्वामित्व होता है। इंस्टेंस को रखने के लिए @State का उपयोग करें, ताकि दृश्य के दोबारा बनने पर भी वह बना रहे।

@State private var vm = ProfileViewModel()

body में स्थिति पढ़ना

body के अंदर ViewModel के गुणों को सामान्य मानों की तरह पढ़ें। देखे जा रहे गुणों के बदलने पर SwiftUI body को फिर से चलाता है।

Text(vm.greeting)

टैप पर कार्रवाइयाँ कॉल करना

बटन की कार्रवाई को सीधे ViewModel की विधि से जोड़ें। दृश्य सरल रहता है और केवल उद्देश्य को मस्तिष्क तक आगे भेजता है।

Button("Reload") {
    vm.load()
}

सशर्त उपयोगकर्ता इंटरफ़ेस चलाना

ViewModel की स्थिति को लेआउट चुनने दें। अतिरिक्त दृश्य तर्क के बिना स्पिनर या सामग्री दिखाने के लिए isLoading पर switch करें।

if vm.isLoading {
    ProgressView()
} else {
    Text(vm.greeting)
}

दो-तरफ़ा फ़ील्ड

पाठ इनपुट के लिए डॉलर चिह्न की सहायता से TextField को ViewModel के गुण से बाँधें। संपादन तुरंत ViewModel में वापस पहुँचता है।

TextField("Name", text: $vm.name)

दृश्य दिखाई देने पर लोड करना

दृश्य के दिखाई देते ही ViewModel को कॉल करने के लिए .task संशोधक का उपयोग करें। इससे पहला डेटा-लोड अपने-आप शुरू हो जाता है।

.task {
    await vm.load()
}

ViewModel से सूचियाँ

List को ViewModel की ऐरे से डेटा दें। जब मॉडल अपने items अपडेट करता है, तो SwiftUI पंक्तियों में अंतर पहचानकर बदलाव को आपके लिए ऐनिमेट करता है।

List(vm.items) { item in
    Text(item.title)
}

दृश्य को घोषणात्मक रखना

अच्छी तरह जुड़ा हुआ दृश्य एक वाक्य जैसा पढ़ता है: यह स्थिति दिखाएँ, वह कार्रवाई चलाएँ। body में कोई गणना नहीं घुसती।

ViewModel को नीचे भेजना

चाइल्ड दृश्य ViewModel को सामान्य गुण के रूप में ले सकते हैं। पैरेंट का उस पर स्वामित्व रहता है; चाइल्ड केवल उसे पढ़ते हैं और उसकी विधियाँ कॉल करते हैं।

DetailView(vm: vm)

पूर्वावलोकनों को ViewModel पसंद हैं

पूर्वावलोकन में दृश्य को नमूना डेटा से भरा हुआ ViewModel दें। आप लोडिंग, खाली और पूर्ण स्थितियों को साथ-साथ दिखा सकते हैं। 👀

एक नज़र में जुड़ी हुई स्क्रीन

यह दृश्य एक ViewModel का स्वामी है, उसका अभिवादन दिखाता है और टैप पर फिर से लोड करता है—SwiftUI की कुछ ही पंक्तियों में पूरा बाइंडिंग।

Text(vm.greeting)
Button("Reload") { vm.load() }

त्वरित जाँच

दृश्य को नया ViewModel इंस्टेंस अपने स्वामित्व में कैसे लेना चाहिए?

पुनरावलोकन: दृश्यों को ViewModels से जोड़ना

आपने @State के साथ दृश्य को उसके ViewModel से जोड़ा, body में उसके गुण पढ़े और टैप व इनपुट को वापस उसी तक पहुँचाया। अगला विषय: निर्भरता इंजेक्शन।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Swift सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Views को ViewModels से bind करना” पाठ निःशुल्क है?

हाँ—“Views को ViewModels से bind करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SwiftUI Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SwiftUI Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Views को ViewModels से bind करना” में मैं क्या सीखूँगा?

view model properties की सहायता से view संचालित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SwiftUI Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या SwiftUI Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SwiftUI Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Views को ViewModels से bind करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस SwiftUI Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर SwiftUI Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. MVVM, SwiftUI के लिए उपयुक्त क्यों है
  2. ViewModel का design करना
  3. Views को ViewModels से bind करना
  4. ViewModels के लिए Dependency Injection
← SwiftUI Academy पर वापस जाएँ