SwiftUI Academy · पाठ

onMove से क्रम बदलना

पंक्तियों को खींचकर उनका क्रम बदलें।

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

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

उपयोगकर्ताओं को पंक्तियाँ फिर से क्रमित करने दें

कभी-कभी क्रम महत्वपूर्ण होता है, जैसे कार्यों की प्राथमिकता वाली सूची में। SwiftUI उपयोगकर्ताओं को लगभग बिना अतिरिक्त कोड के पंक्तियों को खींचकर नए क्रम में रखने देता है। ✨

onMove से परिचय

onMove संशोधक आपके ForEach पर लगाया जाता है और खींचने वाले हैंडल सक्षम करता है, ताकि पंक्तियों को उठाकर कहीं और छोड़ा जा सके।

Move का हस्ताक्षर

onMove आपको दो चीज़ें देता है: स्थानांतरित की जा रही पंक्तियों का IndexSet और वह Int गंतव्य इंडेक्स जहाँ उन्हें रखना है।

func move(from source: IndexSet,
          to destination: Int) {
}

एक ऐरे विधि ही पर्याप्त है

Swift ऐरे में पहले से मौजूद move(fromOffsets:toOffset:) विधि एक ही सुरक्षित कॉल में आपके लिए क्रम बदल देती है।

items.move(fromOffsets: source,
           toOffset: destination)

onMove को जोड़ना

ForEach पर onMove(perform:) लगाएँ और उसे अपने स्थानांतरण फ़ंक्शन से जोड़ें। अब सूची में खींचकर क्रम बदलना संभव है।

ForEach(items) { item in
    Text(item.name)
}
.onMove(perform: move)

संपादन मोड हैंडल दिखाता है

खींचने वाले हैंडल अक्सर केवल संपादन मोड में दिखाई देते हैं। टूलबार में मौजूद EditButton सूची को संपादन मोड में बदल देता है, ताकि उपयोगकर्ता क्रम बदल सकें।

.toolbar {
    EditButton()
}

संपादन मोड के बिना क्रम बदलना

एक साधारण List में पंक्तियाँ अक्सर तुरंत खींची जा सकती हैं। संपादन मोड मुख्यतः तब आवश्यक होता है जब आप हटाने और स्थानांतरण के नियंत्रण भी दिखाते हैं।

State क्रम को टिकाऊ रखता है

क्योंकि move() आपके @State ऐरे को बदलता है, नया क्रम दृश्य के ताज़ा होने के बाद भी बना रहता है और जहाँ-जहाँ वह ऐरे पढ़ा जाता है, वहाँ दिखाई देता है।

स्थानांतरण और हटाना साथ करें

आप एक ही ForEach पर onMove और onDelete दोनों लगा सकते हैं, जिससे उपयोगकर्ताओं को पंक्तियों का क्रम बदलने और उन्हें हटाने का पूरा नियंत्रण मिलता है।

ForEach(items) { Text($0.name) }
    .onDelete(perform: delete)
    .onMove(perform: move)

इनलाइन Move क्लोज़र

हटाने की तरह, आप क्रम बदलने की प्रक्रिया भी इनलाइन लिख सकते हैं। बस onMove क्लोज़र के अंदर सीधे move(fromOffsets:toOffset:) बुलाएँ।

.onMove { source, dest in
    items.move(fromOffsets: source,
               toOffset: dest)
}

सहज खींचने वाले एनीमेशन

SwiftUI खींची जा रही पंक्तियों के उठने, खिसकने और अपनी जगह बैठने को अपने-आप एनीमेट करता है। आपको बिना किसी एनीमेशन कोड के सुंदर गतिशीलता मिलती है।

त्वरित जाँच

onMove आपके हैंडलर को क्या देता है?

पुनरावलोकन: क्रम बदलना

आपने ForEach पर onMove लगाकर और अपने state ऐरे पर move(fromOffsets:toOffset:) बुलाकर खींचकर क्रम बदलना जोड़ा। 🎉

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

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

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

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

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

क्या “onMove से क्रम बदलना” पाठ निःशुल्क है?

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

“onMove से क्रम बदलना” में मैं क्या सीखूँगा?

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

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

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

“onMove से क्रम बदलना” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. स्वाइप करके पंक्तियाँ हटाना
  2. onMove से क्रम बदलना
  3. नए आइटम जोड़ना
  4. खींचकर ताज़ा करना
← SwiftUI Academy पर वापस जाएँ