@ObjCName وواجهات API الملائمة لـ Swift
تشكيل الصادرات كي تُقرأ مواضع الاستدعاء في Swift بشكل طبيعي
@ObjCName وواجهات API الملائمة لـ Swift درس مجاني في Kotlin Multiplatform Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Multiplatform Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Make Swift Devs Happy
Your shared API should read naturally in Swift. A few annotations and habits make the bridge feel native, not bolted on.
Rename with @ObjCName
The @ObjCName annotation lets you give a type or function a different name on the Swift side without renaming the Kotlin one.
@ObjCName("UserService")
class UserRepositoryCleaner Method Names
Use @ObjCName on functions too, so a verbose Kotlin name becomes a short, idiomatic Swift call site that reads well.
@ObjCName("load")
fun loadUserData()Avoid Name Clashes
Kotlin allows overloads that Obj-C cannot express. Renaming with @ObjCName prevents the mangled names Swift would otherwise see.
Hide with @HiddenFromObjC
Mark internal helpers with @HiddenFromObjC so they never appear in the framework, keeping the Swift surface small and clean.
@HiddenFromObjC
fun internalCache()Default Arguments Vanish
Kotlin default arguments do not cross the bridge, so Swift sees one full signature. Provide overloads if Swift needs choices.
Favor Simple Types
Expose plain data classes and primitives at the boundary. Deep generics and sealed hierarchies get awkward for Swift callers.
Watch Property Names
A Kotlin isActive boolean reads great in Swift, but odd getter names can look clumsy, so name properties with Swift in mind.
Document for iOS
Add KDoc on exported members. Some of it surfaces in Xcode, helping iOS devs use your shared API without guessing.
Test the Call Sites
Open the generated header or a Swift file and actually read how your API looks. If it feels clunky, refine the annotations.
A Polished Bridge
Thoughtful naming and hiding turn shared Kotlin into an API Swift devs enjoy, making cross-team work smooth and friendly.
Quick Check
Let us check what @ObjCName is for.
Recap
Shape exports with @ObjCName and @HiddenFromObjC, favor simple types, and read the real Swift call sites. A friendly bridge wins. 🎉
تعلم Kotlin مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «@ObjCName وواجهات API الملائمة لـ Swift» مجاني؟
نعم — نص درس «@ObjCName وواجهات API الملائمة لـ Swift» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Multiplatform Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.
ماذا ستتعلم في «@ObjCName وواجهات API الملائمة لـ Swift»؟
تشكيل الصادرات كي تُقرأ مواضع الاستدعاء في Swift بشكل طبيعي تتمرن على Kotlin Multiplatform Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Multiplatform Academy؟
لا تُشترط خبرة سابقة. Kotlin Multiplatform Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «@ObjCName وواجهات API الملائمة لـ Swift»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Multiplatform Academy هذا؟
نعم. كل درس في Kotlin Multiplatform Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- كيفية تحويل Kotlin إلى Objective-C
- دوال Suspend باعتبارها Swift async
- جمع Flows من Swift
- @ObjCName وواجهات API الملائمة لـ Swift