0Pricing
Kotlin Multiplatform Academy · درس

أمان القيم الفارغة في النماذج المشتركة

استخدام قابلية Kotlin للقيم الفارغة لمنع الأعطال عبر المنصات

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

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

Crashes You Can Prevent

A missing value is a top cause of app crashes. Kotlin's null safety lets shared models guard against it on both platforms.

Non-Null by Default

A normal type can never hold null. Declaring a field as String guarantees it always has a real value.

data class User(val name: String)

The Nullable Type

Add a question mark to allow null. This marks a field as optional, so the compiler forces you to handle the empty case.

data class User(val name: String, val nickname: String?)

Safe Call Operator

Use ?. to read a nullable field safely. If the value is null, the whole expression yields null instead of crashing.

val length = user.nickname?.length

Provide a Fallback

The Elvis operator ?: supplies a default when the value is null, so downstream code always gets something usable.

val shown = user.nickname ?: "Anonymous"

Default Values in Models

Give a constructor parameter a default so callers can skip optional fields entirely while keeping the model non-null.

data class User(val name: String, val active: Boolean = true)

Smart Casts After a Check

Once you confirm a value is not null, Kotlin smart casts it. Inside the check you use it as a plain non-null type.

if (user.nickname != null) {
  println(user.nickname.length)
}

Avoid the !! Operator

The !! operator forces a value to non-null and crashes if it is null. Reach for safe calls and Elvis instead.

val risky = user.nickname!!.length // can crash

Model Optionality Honestly

Mark a field nullable only when it truly can be absent. Clear types document your domain for both teams.

data class Profile(val bio: String?, val avatar: String?)

Why This Matters Cross-Platform

Null safety lives in commonMain, so Android and iOS inherit the same protection from the very same model. 🙂

One Source of Truth

Because nullability rules sit in shared code, neither app can accidentally treat an optional field as required.

Quick Check

How should you read a nullable field with a fallback?

Recap

Mark optional fields with ?, read them via safe calls and Elvis, and avoid !!, so shared models stay crash-safe on both apps.

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

هل درس «أمان القيم الفارغة في النماذج المشتركة» مجاني؟

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

ماذا ستتعلم في «أمان القيم الفارغة في النماذج المشتركة»؟

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

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

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

كم من الوقت يستغرق درس «أمان القيم الفارغة في النماذج المشتركة»؟

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

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

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

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

  1. فئات البيانات لنطاق تطبيقكم
  2. Enums وSealed Classes للحالة
  3. أمان القيم الفارغة في النماذج المشتركة
  4. مساعدات التحقق في نماذجكم
← العودة إلى Kotlin Multiplatform Academy