0Pricing
SwiftUI Academy · درس

استخراج الواجهات القابلة لإعادة الاستخدام

قسّم واجهة المستخدم إلى واجهات فرعية قابلة للتركيب

استخراج الواجهات القابلة لإعادة الاستخدام درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Why Extract Views?

When a view body grows long and repetitive, it gets hard to read. Pulling pieces into their own views makes code clearer through extraction. 🧩

A View Is Just a Struct

Every SwiftUI view is a small struct conforming to View. Making a new reusable view is as simple as writing another struct.

struct AvatarView: View {
    var body: some View { Image("me") }
}

Move a Chunk Out

Spot a self-contained block in your body and lift it into its own view. The parent body shrinks and the intent reads at a glance.

Pass Data with Properties

A reusable view takes inputs as plain stored properties. The parent supplies values when it creates the child.

struct Badge: View {
    let count: Int
    var body: some View { Text("\(count)") }
}

Reuse It Everywhere

Once extracted, you can drop the same view in many places with different data. One definition, many uses.

Badge(count: 3)
Badge(count: 12)

Default Values Help

Give a property a default so callers can skip it. Common cases stay short while special cases still customize.

struct Tag: View {
    var color: Color = .blue
    var body: some View { Capsule().fill(color) }
}

Keep Views Focused

A good reusable view does one thing. If it juggles many jobs, split it again into smaller, clearer pieces.

Name Views by Role

Name a view for what it represents, like ProfileHeader or PriceTag. A clear name tells readers exactly when to reach for it.

Previews Per View

Each extracted view can have its own preview. You see it in isolation and iterate on it without running the whole app.

#Preview {
    Badge(count: 5)
}

Smaller Bodies, Faster Edits

Short bodies are easier for the compiler and for you. Extraction trims giant bodies into a tidy composition of named parts.

Compose, Do Not Repeat

Instead of copy-pasting UI, build small views and compose them. Fix a bug once and every screen using it improves.

Quick Check

Quick check on extracting views.

Recap: Lift and Reuse

Pull repeated UI into focused structs with properties for data. You get shorter bodies, clearer names, and UI you fix in one place. 🧠

الأسئلة الشائعة

هل درس «استخراج الواجهات القابلة لإعادة الاستخدام» مجاني؟

نعم — نص درس «استخراج الواجهات القابلة لإعادة الاستخدام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

ماذا ستتعلم في «استخراج الواجهات القابلة لإعادة الاستخدام»؟

قسّم واجهة المستخدم إلى واجهات فرعية قابلة للتركيب تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟

لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «استخراج الواجهات القابلة لإعادة الاستخدام»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟

نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. استخراج الواجهات القابلة لإعادة الاستخدام
  2. معدّلات View المخصصة
  3. ‏ButtonStyle وLabelStyle
  4. ‏ViewBuilder والحاويات العامة
← العودة إلى SwiftUI Academy