English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، ستعلم Alias في Swift وأمثلة على استخدامه.
يُمكن للـ Alias أن يسمح لك بتسمية النوع الموجود في برنامجكنوع البياناتتقدم اسمًا جديدًا. بعد إعلان Alias، يمكنك استخدام الاسم المُكتشف في جميع أنحاء البرنامج بدلاً من النوع الموجود.
Alias لن يصنع نوعًا جديدًا. إنه فقط يقدم اسمًا جديدًا لنوع موجود.
الغرض الرئيسي لـ Alias هو جعل كودنا أكثر وضوحًا وفي سياق أكثر وضوحًا لفهم الإنسان.
بتسجيل Alias باستخدام كلمة المفتاح:
typealias name = existing type
في Swift، معظم الأنواع يمكن استخدامها مع Alias. يمكن أن تكون:
نوع مدمج(على سبيل المثال: String،Int)
نوع مُحدد من قبل المستخدم(على سبيل المثال: class،structure،enum)
نوع معقد(على سبيل المثال: closuer)
يمكنك استخدام Alias في جميع أنواع البيانات المدمجة، مثل String،Int،Float،ect.
على سبيل المثال:
typealias StudentName = String
تسمح هذه الإعلانات
let name:StudentName = "Jack"
بدون استخدام Alias، يجب أن يتم إعلان الكمية الثابتة من نوع String كما يلي:
let name:String = "Jack"
في هذين المثالين، أنشأنا كمية ثابتة من نوع String. ولكن باستخدام Alias في الإعلان، يصبح كودنا أكثر وضوحًا.
في العديد من الحالات، تحتاج إلى إنشاء نوع بيانات خاص بك. لنفترض أنك تريد إنشاء نوع يُمثل Student، يمكنك استخدام الكائن التالي لإنشاء هذا النوع:
class Student { {}
الآن، مجموعة من الطلاب يمكن أن تمثلها قائمة:
var students:Array<Student> = []
من خلال استخدام Alias لتكوين نوع Array<Student> خاص بك، يمكنك جعل الإعلان السابق أكثر وضوحًا:
typealias Students = Array<Student>
الآن، يمكننا جعل الكود أكثر وضوحًا:
var students:Students = []
دعونا نحلل مثالاً آخر. لنفترض أن لدينا طريقة تأخذ القائمة كمعامل إدخال.
إذا لم تكن تعرف القوائم، لا تقلق. يمكنك رؤيتها كنوع خاص من الوظائف.
func someMethod(oncomp:(Int)->(String)){ {}
النموذج المذكور أعلاه يستخدم القوائم كمدخل لوظيفة someMethod. القائمة تأخذ قيمة Int وتعيد String.
يمكنك رؤية أن استخدام (Int)->(String) ليس له معنى للبرمجين. يمكنك استخدام typealias لتقديم اسم جديد له:
typealias CompletionHandler = (Int)->(String)
الآن، يمكنك كتابة الطريقة كالتالي:
func someMethod(oncomp:CompletionHandler){ {}
نحن نرى أن استخدام typealias يجعل الكود أكثر وضوحًا ويكون أكثر لطفًا للمبرمجين.