پروتکل های کالکشن (Collection Protocols)
پروتکل (Protocol) یعنی قرارداد رفتاری. پروتکل های کالکشن یعنی قراردادهای مشترک مجموعه ها. در سوئیفت، آرایه، ست و دیکشنری از Sequence و Collection پیروی می کنند. بنابراین، متدها و ویژگی های مشترک دارند؛ مثل count و isEmpty. مثل قوانین مشترک برای همه کلاس ها در مدرسه.
Sequence و Collection چه می دهند؟
این پروتکل ها پیمایش را ساده می کنند. همچنین اندازه و تهی بودن را سریع می سنجند. در نتیجه کد خواناتر می شود.
let arr = [1, 2, 3]
print(arr.count)
print(arr.isEmpty)
let s: Set<Int> = [1, 2, 3]
print(s.contains(2))
print(s.isEmpty)
نکته: contains یعنی «عضویت را چک کن». اگر عضو باشد، true می دهد.
استفاده از indices برای پیمایش ایمن
indices محدوده ایندکس های معتبر است. بنابراین از خطاهای خارج از محدوده جلوگیری می کند. مثل شماره صندلی های مجاز در کلاس.
let arr = [10, 20, 30]
for i in arr.indices {
print("index: \(i), value: \(arr[i])")
}
گام های عملی
- یک آرایه بساز و count را چاپ کن.
- isEmpty را بررسی کن و نتیجه را ببین.
- با indices حلقه بزن و مقدارها را چاپ کن.
برای مرور دوباره پروتکل های کالکشن این صفحه را ذخیره کن. سپس برای مرتب سازی سر بزن به مرتب سازی. همچنین نمای کلی را در کالکشن ها ببین.
جمع بندی سریع
- کالکشن ها از Sequence و Collection پیروی می کنند.
- count و isEmpty همیشه در دسترس اند.
- indices ایندکس های امن می دهد.
- contains برای چک عضویت است.