تحية ، الخبروفيت! انتهى مايو ، ونواصل إطلاق دورات تدريبية جديدة. هذه المقالة مخصصة لبدء
الدورة التدريبية "iOS-developer" . سيبدأ التدريب في 28 مايو ، وستتاح لك الفرصة حتى ذلك الحين لمعرفة المزيد عن لغة Swift وميزاتها. هذه هي المقالة الأولى من ثلاثة مقالات ، حيث يتم في شكل مقابلة فحص مزايا وميزات لغة Swift ، حيث نعلم كيفية إنشاء تطبيقات iOS في دوراتنا.

ما هو سويفت وما هو جيد ل؟
Swift هي لغة برمجة عالمية ومتعددة النماذج طورتها شركة Apple لتطوير حلول لنظام التشغيل iOS و macOS و watchOS و tvOS وحتى Linux.
- قابلية القراءة - يحتوي Swift على بنية نظيفة وبسيطة للغاية يسهل الكتابة والقراءة.
- دعم سهل - الإخراج أقل بكثير من مستويات الكود والميراث ، ويتحول المشروع بأكمله إلى ملف سريع واحد.
- منصة آمنة - ترجمة وإصلاح الخلل الحق أثناء كتابة التعليمات البرمجية.
- سرعة عالية - برنامج تحويل LLVM سريع وفعال بشكل لا يصدق يحول كود Swift إلى كود أصلي للحصول على أقصى استفادة من الأجهزة. كما تم تحسين بناء الجملة نفسه والمكتبة القياسية للعمل السريع.
- دعم المكتبات الديناميكية .
- المصدر المفتوح .
ما هو الفرق بين الطبقة والبنية؟
هناك أربعة اختلافات رئيسية بين الطبقة والبنية في سويفت. تحتوي الفصول على بعض الميزات التي لا تتضمنها الهياكل:
- كتابة النوع - يسمح لك بالتحقق من الفصول وتفسيرها في وقت التشغيل.
- ارتباط العد - يسمح لك باستخدام أكثر من رابط لكل مثيل للفئة.
- الوراثة - يسمح لفئة واحدة أن ترث خصائص أخرى.
- Deinitializers - اسمح لكل مثيل لفصل دراسي بالإفراج عن جميع الموارد المخصصة له.
عندما يتم تمرير الهياكل في التعليمات البرمجية ، يتم نسخها دائمًا دون احتساب مرجع. يتم دائمًا تمرير مثيلات الهيكل حسب القيمة ، وتكون مثيلات الفئة دائمًا حسب المرجع.
في أي الحالات لاستخدام فئة ، والتي - هيكل؟
كورقة غش بسيطة: يجب استخدام الهياكل عندما يكون واحد أو أكثر من الشروط التالية صحيحاً.
- الغرض من الهيكل هو تغليف العديد من قيم البيانات البسيطة نسبيًا ؛
- يمكن توقع نسخ القيم المغلفة ، وليس الرجوع إليها ؛
- الخصائص المخزنة في الهيكل هي أنواع قيم يتم نسخها أيضًا ، وليس مرجعًا لها ؛
- يجب ألا ترث البنية خصائص وسلوك نوع آخر موجود.
في حالات أخرى ، استخدم الفئات: تحديد فئة ، وإنشاء مثيل لإدارة وتمرير حسب المرجع.
كيفية تمرير المتغيرات كروابط؟
يمكن تمرير المتغير كمرجع باستخدام
المعلمة inout . يعني
Inout أن تغيير متغير محلي سيؤدي أيضًا إلى تغيير المعلمات التي تم تمريرها.
var value: String = “Apple” func changeString(newValue:inout String) { newValue = “Samsung” print(newValue)
ما هي الوحدة؟
- الوحدة النمطية هي وحدة منفصلة في توزيع الكود ؛
- نظام أساسي أو تطبيق يتم إنشاؤه وتوزيعه كوحدة منفصلة ويمكن استيراده بواسطة وحدة نمطية أخرى ؛
- كل هدف بناء - تعتبر حزمة التطبيق أو الإطار في Xcode كوحدة منفصلة.
ما هو الفرق في مستويات الوصول في سويفت؟
يحتوي Swift على خمسة مستويات وصول مختلفة للكيانات في التعليمات البرمجية:
- الوصول المفتوح - يمكن للفئات ذات الوصول المفتوح أن تكون فئات فرعية أو يتم تجاوزها بواسطة فئات فرعية في الوحدة النمطية حيث تم تعريفها ، أو في أي دولة أخرى تستورد الوحدة النمطية حيث يتم تعريفها ؛
- الوصول العام - يمكن أن تكون الفئات التي تحتوي على وصول عام فئات فرعية أو يمكن إعادة تعريفها بواسطة فئات فرعية فقط داخل الوحدة النمطية حيث يتم تعريفها ؛
- الوصول الداخلي - يمكن استخدام الكيانات في أي ملف مصدر من الوحدة النمطية المحددة ، ولكن ليس في الملف المصدر خارج هذه الوحدة ؛
- الوصول إلى الملفات الخاصة - يقتصر استخدام الكيانات على ملف تعريف المصدر الخاص به ؛
- الوصول الخاص - يقتصر استخدام الكيانات من خلال الإعلان المرفق وملحقات هذا الإعلان ، والتي هي في نفس الملف.
الوصول المفتوح هو أعلى وأقل مستوى مقيد ، والوصول الخاص هو الأدنى ، وبالتالي الأكثر محدودية. افتراضيًا ، يكون لدى جميع الكيانات في الكود مستوى وصول داخلي.
ما تأخر التهيئة؟
التهيئة المتأخرة هي تقنية تأخير إنشاء كائن أو تنفيذ عملية أخرى حتى تصبح هذه العملية ضرورية. لا يمكن استخدام التأخير إلا مع الطبقات والهياكل. ومع ذلك ، يجب أن يكون مفهوما أن الخاصية
البطيئة ليست آمنة ، لأنه لم تتم تهيئتها تلقائيًا.
تحتاج دائمًا إلى الإعلان عن الخاصية
البطيئة كمتغير باستخدام
var . يجب أن يكون لخصائص الثوابت دائمًا قيمة قبل اكتمال التهيئة ، لذلك لا يمكن تأخيرها.
ما هو tuple؟
tuple هي مجموعة من القيم الصفرية أو أكثر ممثلة كقيمة واحدة. يتم استخدامها عادة لإرجاع قيم متعددة من وظيفة استدعاء. سويفت لديها نوعان من tuples.
اسم موكب let nameAndAge = (name:”Midhun”, age:7) Access the values like: nameAndAge.name
موكب مجهولفي هذا النوع من tuple ، لا نحدد أسماء للعناصر.
let nameAndAge = (“Midhun”, 7) Access the values like: nameAndAge.0
ما هي التحويلات؟
باستخدام التعداد ، يتم تحديد نوع شائع لمجموعة من القيم ذات الصلة ويتم توفير القدرة على العمل بأمان مع هذه القيم في الكود. على عكس C و Objective-C ، في Swift ، لا يتم تعيين التعدادات الافتراضية عدد صحيح عند إنشائها.
ما هي القيم ذات الصلة؟
القيم المرتبطة تشبه إلى حد كبير المتغيرات المرتبطة بإحدى حالات التعداد.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) }
نحدد نوع تعداد
الباركود ، والذي يمكن أن يأخذ إما قيمة upc مع القيمة المرتبطة للنوع
(Int ، Int ، Int ، Int) ، أو قيمة
qrCode مع القيمة المرتبطة بنوع
السلسلة .
في بعض الأحيان ، قد تكون القدرة على تخزين القيم المرتبطة بأنواع أخرى بجوار قيم الحالة مفيدة. يسمح لك هذا بتخزين معلومات المستخدم الإضافية إلى جانب قيمة الحالة ويسمح لك بتغيير هذه المعلومات في كل مرة تستخدم فيها هذه الحالة في الكود.
نهاية الجزء الاول.
الجزء الثاني.
ندعو الجميع للمشاركة في
ندوة مجانية على الإنترنت ، حيث
سنخبرك بما ستعلمه هذه الدورة.