مسارات التنقل البرمجية
تحكّم في التنقل باستخدام مسار navigationDestination
مسارات التنقل البرمجية درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Navigating From Code
Sometimes a tap is not enough. After saving a form you may want to jump screens yourself. SwiftUI lets you drive the stack from code. ⚙️
A Path You Control
Give NavigationStack a path binding. This array is the live list of screens currently pushed, and editing it changes navigation instantly.
@State private var path = NavigationPath()
NavigationStack(path: $path) { HomeView() }Push by Appending
Append a value to the path and SwiftUI pushes the matching screen. No tap needed, just change the array.
path.append(book)Routing the Value
A navigationDestination maps each value type in the path to a view, so appended data knows which screen to become.
.navigationDestination(for: Book.self) { book in
DetailView(book: book)
}Pop With Remove
Removing the last element pops a screen, exactly like the back button. You stay in full control of the stack from code.
path.removeLast()Jump Home Instantly
To return all the way to the root, empty the path. Every pushed screen disappears at once, perfect for a Done button. 🏠
path.removeLast(path.count)Deep Linking
Because the path is just data, you can build it from a URL or notification, pushing several screens so users land deep inside the app.
NavigationPath Holds Mixed Types
A NavigationPath can store values of different types together, letting one stack route books, users, and settings without a shared enum.
Or Use a Typed Array
If every screen shares one type, a plain typed array works as the path and reads a little more clearly than NavigationPath.
@State private var path: [Book] = []State Drives the Stack
Navigation becomes state. The visible screens always mirror the path array, so your UI stays predictable and easy to reason about.
Test and Restore
Since the path is plain data, you can save it and restore it, recreating exactly where the user left off when they reopen the app.
Quick Check
What happens when you append a value to a NavigationStack path?
Recap: Programmatic Paths
You bind a path to NavigationStack and push or pop screens by editing that array, turning navigation into predictable, testable state. 🎉
الأسئلة الشائعة
هل درس «مسارات التنقل البرمجية» مجاني؟
نعم — نص درس «مسارات التنقل البرمجية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.
ماذا ستتعلم في «مسارات التنقل البرمجية»؟
تحكّم في التنقل باستخدام مسار navigationDestination تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟
لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مسارات التنقل البرمجية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟
نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فتح الشاشات باستخدام NavigationLink
- تمرير البيانات إلى View التفاصيل
- شريط الأدوات وعنوان التنقل
- مسارات التنقل البرمجية