با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش Swift را دنبال می کنند. یکی از ساختمان داده های مشترک در اکثر زبان های برنامه نویسی آرایه ها هستند، آرایه ها اجازه ی ذخیره ی موقت یک سری از داده های هم نوع در یک ظرف متغیر را می دهد، سپس شما می توانید در طول برنامه به داده های ذخیره شده در آرایه دسترسی پیدا کرده و از آن ها استفاده کنید، جستجو و دسترسی به داده های موجود در آرایه ها معمولا با استفاده از حلقه های تکرار انجام می شود. در ادامه ی این مباحث ما شما را با چگونگی کار با آرایه ها در Swift آشنا خواهیم کرد.
در این آموزش شما با ساختار کلی تعریف و برخی متدهای کار با آرایه ها در Swift آشنا خواهید شد.
نحوه ی تعریف یک آرایه ی خالی در Swift به صورت زیر است:
1 | var someArray = [SomeType]() |
ساختار ایجاد یک آرایه با اندازه ی مشخص در Swift به صورت زیر است:
1 | var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue) |
شما می توانید از عبارت زیر برای ایجاد یک آرایه خالی از نوع Int با داشتن ۳ عنصر و مقدار اولیه صفر استفاده کنید:
1 | var someInts = [Int](count: 3, repeatedValue: 0) |
در زیر یک مثال دیگر از آرایه ای با سه عنصر و اختصاص سه عدد به آن ارائه داده ایم :
1 | var someInts:[Int] = [10, 20, 30] |
برای دسترسی به عناصر یک آرایه می توانید از ساختار زیر استفاده کنید:
1 | var someVar = someArray[index] |
در ساختار فوق مقدار index از ۰ شروع می شود. یعنی مقدار ۰ اولین عنصر آرایه را برمی گرداند.
مثال زیر چگونگی ایجاد یک آرایه با تعداد مشخص و مقداردهی به آن را نشان می دهد:
1 2 3 4 5 6 | var someInts = [Int](count: 3, repeatedValue: 10) var someVar = someInts[0] print( "Value of first element is \(someVar)" ) print( "Value of second element is \(someInts[1])" ) print( "Value of third element is \(someInts[2])" ) |
نتیجه ی کامپایل و اجرای برنامه ی فوق به صورت زیر خواهد بود:
1 2 3 | Value of first element is 10 Value of second element is 10 Value of third element is 10 |
با استفاده از متد ()append یا عملگر (+=) می توانید آیتم جدیدی را به انتهای یک آرایه اضافه کنید.
به مثال زیر نگاهی بیاندازید. در ابتدا، ما یک آرایه خالی ایجاد می کنیم و سپس عناصر جدید را در یک آرایه قرار می دهیم :
1 2 3 4 5 6 7 8 9 10 11 | var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] var someVar = someInts[0] print( "Value of first element is \(someVar)" ) print( "Value of second element is \(someInts[1])" ) print( "Value of third element is \(someInts[2])" ) |
نتیجه ی کامپایل و اجرای برنامه ی فوق به صورت زیر خواهد بود:
1 2 3 | Value of first element is 20 Value of second element is 30 Value of third element is 40 |
شما می توانید یک عنصر موجود از یک آرایه را با اختصاص دادن یک مقدار جدید در یک شاخص خاص تغییر دهید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] // Modify last element someInts[2] = 50 var someVar = someInts[0] print( "Value of first element is \(someVar)" ) print( "Value of second element is \(someInts[1])" ) print( "Value of third element is \(someInts[2])" ) |
زمانیکه کد فوق را کامپایل و اجرا کنید نتیجه ی زیر را خواهید دید:
1 2 3 | Value of first element is 20 Value of second element is 30 Value of third element is 50 |
شما می توانید با استفاده از حلقه ی for-in تمام عناصر یک آرایه را پیمایش کرده و آن ها را چاپ کنید و یا اعمال دیگر را انجام دهید.
مثال:
1 2 3 4 5 6 7 8 | var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs += ["Google"] for item in someStrs { print(item) } |
زمانیکه کد فوق را کامپایل و اجرا کنید نتیجه ی زیر را خواهید دید:
1 2 3 | Apple Amazon Google |
همچنین می توانید با استفاده از تابع ()enumerate عناصر هر آرایه را به همراه شماره index آن برگردانید.
مثال :
1 2 3 4 5 6 7 8 9 | var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs += ["Google"] for (index, item) in someStrs.enumerated() { print("Value at index = \(index) is \(item)") } |
زمانیکه کد فوق را کامپایل و اجرا کنید نتیجه ی زیر را خواهید دید:
1 2 3 | Value at index = 0 is Apple Value at index = 1 is Amazon Value at index = 2 is Google |
همچنین می توانید با استفاده از عملگر (+) مقادیر دو آرایه را با هم جمع کنید.
مثال :
1 2 3 4 5 6 7 | var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB for item in intsC { print(item) } |
نتیجه ی کامپایل و اجرای برنامه ی فوق به صورت زیر است:
1 2 3 4 5 | 2 2 1 1 1 |
شما می توانید از ویژگی فقط خواندنی count در یک آرایه برای بدست آوردن تعداد آیتم های آن آرایه استفاده کنید.
مثال:
1 2 3 4 5 6 7 8 | var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB print("Total items in intsA = \(intsA.count)") print("Total items in intsB = \(intsB.count)") print("Total items in intsC = \(intsC.count)") |
نتیجه ی کامپایل و اجرای برنامه ی فوق به صورت زیر است:
1 2 3 | Total items in intsA = 2 Total items in intsB = 3 Total items in intsC = 5 |
با استفاده از ویژگی empty می توانید تشخیص دهید که آیا یک آرایه خالی است یا خیر.
مثال:
1 2 3 4 5 6 7 | var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = [Int]() print("intsA.isEmpty = \(intsA.isEmpty)") print("intsB.isEmpty = \(intsB.isEmpty)") print("intsC.isEmpty = \(intsC.isEmpty)") |
نتیجه ی کامپایل و اجرای برنامه ی فوق به صورت زیر خواهد بود:
1 2 3 | intsA.isEmpty = false intsB.isEmpty = false intsC.isEmpty = true |
آرایه در اغلب زبان های برنامه نویسی ارائه شده و به عنوان ظرفی برای نگهداری موقت مقادیری از یک نوع و دسترسی به آن ها در طول برنامه استفاده می شوند، و کاربرد بسیاری در تمام برنامه ها دارند، از این رو مباحث این بخش را به بررسی چگونگی کار با آرایه ها در Swift اختصاص دادیم.