تاپل ها و نام های مستعار نوع (Tuples & Type Aliases)
«تاپل (Tuple)» بسته سبکِ چند مقدار است. یعنی چند چیز را کنار هم نگه می داری. «نام مستعار نوع (Type Alias)» هم برای ساده کردن نام های سخت است. بنابراین، تاپل ها سریع اند و Type Alias خوانایی می دهد. اینجا تمرکز ما «تاپل ها سوئیفت» است.
تاپل ها سوئیفت: تعریف و دسترسی
تاپل چند مقدار را یک جا می گذارد؛ بدون ساختن struct. می توانی برچسب بدهی و با نام ها دسترسی بگیری. همچنین می توانی آن را به متغیرها «بازکردن (Destructure)» کنی.
let user: (name: String, age: Int) = ("Morgan", 30);
print(user.name);
print(user.age);
let http: (code: Int, message: String) = (200, "OK");
let (code, msg) = http;
print(code);
print(msg);
نکته: تاپل برای گروه بندی سریع عالی است؛ الگو بساز، تمام.
Type Alias؛ نام ساده برای نوع های پیچیده
با typealias یک نام خوانا می سازی. امضای توابع کوتاه می شود و تیم راحت تر می خواند. این کار فقط اسم می دهد؛ نوع جدید نمی سازد.
typealias JSON = [String: Any];
typealias Completion = (Result<Void, Error>) -> Void;
func parse(_ data: Data) -> JSON {
return [:];
}
func save(completion: Completion) {
completion(.success(()));
}
هشدار: Type Alias فقط نام را ساده می کند؛ رفتار عوض نمی شود.
مسیر مطالعه مرتبط
برای رفتارهای قابل حمل، Closureها را ببین. سپس برای مفاهیم شی گرایی، OOP مفید است. همچنین «تاپل ها سوئیفت» را به عنوان مرجع سریع نگه دار.
تمرین های مرحله ای
- یک تاپل دانش آموز با برچسب بساز.
- مقادیر تاپل را چاپ و سپس Destructure کن.
- یک Type Alias برای Closure نتیجه بساز.
- یک تابع با Completion بنویس و صدا بزن.
نکته: تاپل برای داده های موقتی خوب است؛ مدل پایدار را struct کن.
جمع بندی سریع
- تاپل گروه سبکِ چند مقدار است.
- با برچسب ها، خوانایی بهتر می شود.
- Type Alias نام ها را کوتاه می کند.
- رفتار عوض نمی شود؛ فقط نام ساده است.
- برای مدل پایدار، struct مناسب تر است.