آموزش سوئیفت swift قسمت چهارم

خانم عقیلی 1395/1/12 1972

آموزش قسمت چهارم سوییفت Swift

آموزش سوئیفت swift قسمت چهارم

انواع مجموعه:

سه نوع collectionداریم در زبان سوئیفت

. آرایه ها با ارایه ها در جلسه قبل اشنا شدید.

2. مجموعه ها (sets)

طبق شکل مجموعه ها مقادیر متمایز از یک نوع را بدون توجه ب ترتیب انها ذخیره می کنند. وقتی که ترتیب عناصر مهم نباشه می تونید از setها به جای ارایه ها استفاده کنید

var letters = (Set with (letters.count) items.")   // "letters is of type Set with 0 items."


در مثال بالا یک مجموعه خالی از نوع کاراکترایجاد کردیم .

var letters = (Set with (letters.count) items.")   // "letters is of type Set with 0 items."

Letters.count تعداد عناصر را در مجموعه نمایش می دهد ک صفر است.

letters.insert("a") // مجموعه شامل یک عنصر است از نوع کاراکتر

letters = []

مجموعه بالا در حال حاضر خالی شده ولی کماکان از نوع کاراکتر است

ایجاد مجموعه با لیترال های ارایه :

var favorite: Set = ["red", "blue", "black"]

// مجموعه favorit با سه عنصر مقدار دهی اولیه شد

متغیر favorit به عنوان مجموعه ای از رشته ها معرفی شده پس تنها مقادیر رشته ای داخل این متغیر باید قرار داده شود. چون مقادیر همه از یک نوع هستند و با توجه به اینکه در سوئیفت باید اعلان نوع را داشته باشیم می توانیم به صورت زیر هم مجموعه بالا رو بنویسیم.

var favorite: Set= ["red", "blue", "black"]

در مجموعه ها مباحثی مثل اجتماع، اشتراک وجود دارد

Intersect(_:) اشتراک بین دو مجموعه است

exclusiveOr(_:) xor که مقادیر هر دو مجموعه را به غیر از مقادیر مشترک داخل ارایه قرار می دهد.

Union(_:) اجتماع

Subtract(_:) تفاضل دو مجموعه

let oddDigits: Set = [1, 3, 5, 7, 9] // اعداد فرد زیر 10
let evenDigits: Set = [0, 2, 4, 6, 8] // اعداد زوج زیر 10
let singleDigitPrimeNumbers: Set = [2, 3, 5, 7] // اعداد اول 

در مثال بالا ثابت هایی از نوع مجموعه تعریف کردیم

oddDigits.union(evenDigits).sort()
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
oddDigits.intersect(evenDigits).sort()
//  []
oddDigits.subtract(singleDigitPrimeNumbers).sort()
// [1, 9]
oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
// [1, 2, 9]

در مثال بالا از متود های اجتماع و اشتراک و xor و تفاضل مثالی زده شده

در بالا .sort مقادیر موجود در مجموعه جدید را مرتب سازی می کند.

Collection بعدی dictionary نام دارد. که مقادیر چندگانه از یک نوع را ذخیره میکند.

هر مقدار در dictionary به همراه یک کلید یکتا است. و تمامی کلید ها هم از یک نوع هستند. نوع dictionary با نوع کلید و مقدار کنار همدیگر مشخص می شود.

یک dictionary بانوع [String:Int] کلیدی از نوع string و مقداری از نوع Int دارد

به این صورت تعریف می شود: var dictionary: [String:Int]

به صورت زیر متغیری که از نوع dictionary هست رو مقدار دهی اولیه می کنیم

var dictionary: [String:Int] = [
    "one" : 1,
    "two" : 2,
    "three" : 3
]

برای ایجاد یک dictionary خالی به صورت زیر متغیر را تعریف میکنیم.

var emptyDictionary: [Int:Int] = [
var stringsAsInts: [String:Int] = [
    "zero" : 0,
    "one" : 1,
    "two" : 2,
    "three" : 3,
    "four" : 4,
    "five" : 5,
    "six" : 6,
    "seven" : 7,
    "eight" : 8,
    "nine" : 9
]
1. stringsAsInts["zero"] // مقدار این کلید 0 است
2. stringsAsInts["three"] // مقدار این کلید 3 است
3. stringsAsInts["ten"] // nil

در مثال بالا متغیر stringsAsInts از نوع dictionary تعریف کردیم برای اینکه مقادیر را فراخوانی کنیم از اسم متغیر به همراه کلید استفاده می کنیم اگر متغیر رو در حالت 1 و 2 در خروجی چاپ کنیم مقادیر مربوط ب هر کلید رو چاپ میکنه اما گزینه سوم مقدار null رو بر میگردونه چون چنین کلیدی در متغیر بالا موجود نیست

اپیدیت کردن یک مقدار یا اضافه کردن کلید با مقداری جدید به شکل زیر است:

var stringsAsInts: [String:Int] = [
    "zero" : 0,
    "one" : 1,
    "two" : 2
]

stringsAsInts["three"] = 3

کافیست که کلید مربوطه را به همراه نام متغیر قرار دهیم و مقدار جدید را داخل ان بریزیم.

یا از متود برای اپدیت کردن مقدار یک کلید استفاده کنید.

var stringsAsInts: [String:Int] = [
    "zero" : 0,
    "one" : 1,
    "two" : 2
]
stringsAsInts.updateValue(3, forKey: "three") // کلیدی به این نام نداریم پس   null 
stringsAsInts.updateValue(10, forKey: "tow") // 2

برای حذف مقدار یک کلید از متغیر نوع dictionary یا مقدار ان را برابر null قرار می دهیم یا از متود به شکل زیر استفاده می کنیم:

stringsAsInts["three"] = nil

stringsAsInts.removeValueForKey("three")//مقدار این کلید را حذف میکند

پس متغیر ها از نوع dictionary کلید ها و مقادیر اگر نوعشان را بخواهیم نمایش دهیم به شکل های زیر است

var stringsAsInts: [String:Int]
var stringsAsInts: [Int:String]
var stringsAsInts: [Int:Int]
var stringsAsInts: [String:String]

تا به اینجا مثال هایی زدیم که همگی متغیر از نوع dictionary بودند! حتی می توانیم ثابت ها را هم به همین شکل تعریف کنیم و مقدار این ثایت ها از این نوع همیشه همان مقدار دهی اولیه باقی می ماند

let powersOfTwo = [
    1 : 2,
    2 : 4,
    3 : 8,
    4 : 16
]
1. powersOfTwo[5] = 32 // شامل ارور است
2. powersOfTwo.removeValueForKey(1)// شامل ارور

در شماره 1 کلید و مقداری جدید قصد داریم اضافه کنیم اما در خروجی به ارور برخورد خواهیم کرد.

در شماره 2 نیز قصد داشتیم مقدار یک کلید را حذف کنیم ولی در خروجی باز هم به ارور برخورد خواهیم کرد.

مبحث مجموعه انواع تمام شد و امیدوارم این مطالب مورد استفاده شما قرار بگیره.

آیکن دانلود دانلود PDF قسمت چهارم آموزش سوئیفت swift

قسمت بعدی قسمت پنجم آموزش Swift

قسمت بعدی قسمت قبلی