سه شنبه ۲۵ اردیبهشت ۰۳ | ۱۱:۵۷ ۱۶۶ بازديد
در نصیب دوم از یادگرفتن سوئیفت قصد داریم به ادامه ی نصیب پیشین و ساختار لهجه سوئیفت بپردازیم. طراحی اپلیکیشن در مشهد ما در قسمت نخستین فراگیری به مفاهیم نخستین و خصوصیت های سوئیفت تا توابع ، رینگ ها ، اثبات ها ، عملگرها و … پرداختیم. و دراین نصیب قصد داریم به ادامه ی مفاهیم اطلاعات ، ساختارها ، کلاس ها و … بپردازیم. پس برای کامل شدن این یادگرفتن با ما یار باشید. قابل ذکر میباشد پیش نیاز این نصیب از یادگرفتن مطلاعه ی نصیب اولیه شناخت با سوئیفت میباشد.
Closures
Closures در سوئیفت 4 مشابه توابع مستقلی میباشد که به طور بلوک سازماندهی گردیده و در هر جایی مانند لهجه های C و Objective C فراخوانی می گردند.
ارجاعات اثبات و متغیری که در درون توابع تمجید گردیده اند در Closure ها ذخیره میشوند.
توابع تحت عنوان موردها خاص Closures در لحاظ گرفته میشوند و به سه صورت تحت قرار دارا هستند :
Global Functions Nested Functions Closure Expressions
هیچ یه خرده را تصویب نکنید تصاحب کردن مقادیر از تابع enclosing پکیج های سوای اسم، مقادیر بلوک های همسایه را میگیرند.
Closure expressions در لهجه سوئیفت 4 از موردها تحت تاسی می نماید :
استنتاج پارامترها و گونه های مقادیر برگردانده از متن.
راندمان Implicit از single-expression closures
اسامی آرگومان های کوتاه
سینتکس Trailing closure
سینتکس
در تحت یک فرمان همگانی برای تعریف و تمجید closure میباشد که پارامترها را می پذیرد و یک نوع داده را برمی گرداند :
{
(parameters) −> return type in
statements
}
COPY
نمونه :
let studname = { print("Welcome to Swift Closures") }
studname()
COPY
خروجی :
Welcome to Swift Closures
COPY
closure ذیل دو پارامتر را می پذیرد و یک مقدار Bool را برمی گرداند.
{
(Int, Int) −> Bool in
Statement1
Statement 2
---
Statement n
}
COPY
نمونه :
let divide = {
(val1: Int, val2: Int) -> Int in
return val1 / val2
}
let result = divide(200, 20)
print (result)
COPY
خروجی :
10
COPY
Expressions in Closures
توابع تو در تو راه درستی برای اسم گذاری و تمجید بلوک های کد ارائه میدهند.
به مکان اکران تمام اعلان تابع و name constructs برای نشانه دادن توابع کوتاهتر به کار گیری میگردد.
اکران تابع در یک عبارت کوتاه بدیهی با سینتکس متمرکز از روش closure expressions به دست میاید.
نرمافزار پیشنهاد رو به بالا
نظم دهی یک فن بوسیله تابع reserved سوئیفت 4 “sorted” اجرا می گردد که از قبلی در کتابخانه استاندارد جان دار میباشد.
تابع فن های داده گردیده را به ترتیب رو به بالا تروتمیز می نماید و موادسازنده را در یک آرایه تازه با به عبارتی اندازه و نوع داده مذکور در آرایه سابق برمی گرداند.
آرایه دیرین به به عبارتی شکل باقی میماند.
دو آرگومان در باطن تابع آراسته گردیده ، علامت داده شدهاست.
مقادیر از نوع شناخته گردیده به طور آرایه اکران داده میشوند.
محتویات آرایه (Int، Int) و یک مقدار Boolean (Bool) برمی گرداند ، در صورتیکه آرایه به صحت آراسته گردیده باشد ، مقدار حقیقی وواقعی را برمی گرداند در غیر این شکل false را برمی گرداند.
یک تابع ساده با فن ورودی مندرج و به تابع تر و تمیز گردیده ارسال می گردد تا حرفه ها به آرایه جدیدی که در ذیل نماد داده شدهاست تر و تمیز شوند.
func ascend(s1: String, s2: String) -> Bool {
return s1 > s2
}
let stringcmp = ascend(s1: "Swift 4", s2: "great")
print (stringcmp)
COPY
خروجی :
true
COPY
آرایه initial که بایستی برای icecream آراسته گردد تحت عنوان “Swift 4” و “great” داده گردیدهاست.
تابع نظم دهی آرایه تحت عنوان نوع داده فن ای و نوع برگشتی آن تحت عنوان Boolean بیان میشود.
هر دو فن با هم مقایسه و به ترتیب رو به بالا آراسته گردیده و در یک آرایه تازه ذخیره میشوند.
در شرایطی که تروتمیزسازی با توفیق صورت پذیرد ، تابع مقدار حقیقی وواقعی را برمیگرداند در غیر این شکل false را برمیگرداند.
سینتکس Closure expression از موردها ذیل ، به کار گیری می نماید :
پارامترهای اثبات
پارامترهای متغیر
پارامترهای inout
Closure expression از مقادیر پیش فرض دفاع نمی نماید.
پارامترهای Variadic و Tuples نیز میتوانند تحت عنوان گونه های پارامترها و گونه های برگشتی به کارگیری شوند.
Closures
Closures در سوئیفت 4 مشابه توابع مستقلی میباشد که به طور بلوک سازماندهی گردیده و در هر جایی مانند لهجه های C و Objective C فراخوانی می گردند.
ارجاعات اثبات و متغیری که در درون توابع تمجید گردیده اند در Closure ها ذخیره میشوند.
توابع تحت عنوان موردها خاص Closures در لحاظ گرفته میشوند و به سه صورت تحت قرار دارا هستند :
Global Functions Nested Functions Closure Expressions
هیچ یه خرده را تصویب نکنید تصاحب کردن مقادیر از تابع enclosing پکیج های سوای اسم، مقادیر بلوک های همسایه را میگیرند.
Closure expressions در لهجه سوئیفت 4 از موردها تحت تاسی می نماید :
استنتاج پارامترها و گونه های مقادیر برگردانده از متن.
راندمان Implicit از single-expression closures
اسامی آرگومان های کوتاه
سینتکس Trailing closure
سینتکس
در تحت یک فرمان همگانی برای تعریف و تمجید closure میباشد که پارامترها را می پذیرد و یک نوع داده را برمی گرداند :
{
(parameters) −> return type in
statements
}
COPY
نمونه :
let studname = { print("Welcome to Swift Closures") }
studname()
COPY
خروجی :
Welcome to Swift Closures
COPY
closure ذیل دو پارامتر را می پذیرد و یک مقدار Bool را برمی گرداند.
{
(Int, Int) −> Bool in
Statement1
Statement 2
---
Statement n
}
COPY
نمونه :
let divide = {
(val1: Int, val2: Int) -> Int in
return val1 / val2
}
let result = divide(200, 20)
print (result)
COPY
خروجی :
10
COPY
Expressions in Closures
توابع تو در تو راه درستی برای اسم گذاری و تمجید بلوک های کد ارائه میدهند.
به مکان اکران تمام اعلان تابع و name constructs برای نشانه دادن توابع کوتاهتر به کار گیری میگردد.
اکران تابع در یک عبارت کوتاه بدیهی با سینتکس متمرکز از روش closure expressions به دست میاید.
نرمافزار پیشنهاد رو به بالا
نظم دهی یک فن بوسیله تابع reserved سوئیفت 4 “sorted” اجرا می گردد که از قبلی در کتابخانه استاندارد جان دار میباشد.
تابع فن های داده گردیده را به ترتیب رو به بالا تروتمیز می نماید و موادسازنده را در یک آرایه تازه با به عبارتی اندازه و نوع داده مذکور در آرایه سابق برمی گرداند.
آرایه دیرین به به عبارتی شکل باقی میماند.
دو آرگومان در باطن تابع آراسته گردیده ، علامت داده شدهاست.
مقادیر از نوع شناخته گردیده به طور آرایه اکران داده میشوند.
محتویات آرایه (Int، Int) و یک مقدار Boolean (Bool) برمی گرداند ، در صورتیکه آرایه به صحت آراسته گردیده باشد ، مقدار حقیقی وواقعی را برمی گرداند در غیر این شکل false را برمی گرداند.
یک تابع ساده با فن ورودی مندرج و به تابع تر و تمیز گردیده ارسال می گردد تا حرفه ها به آرایه جدیدی که در ذیل نماد داده شدهاست تر و تمیز شوند.
func ascend(s1: String, s2: String) -> Bool {
return s1 > s2
}
let stringcmp = ascend(s1: "Swift 4", s2: "great")
print (stringcmp)
COPY
خروجی :
true
COPY
آرایه initial که بایستی برای icecream آراسته گردد تحت عنوان “Swift 4” و “great” داده گردیدهاست.
تابع نظم دهی آرایه تحت عنوان نوع داده فن ای و نوع برگشتی آن تحت عنوان Boolean بیان میشود.
هر دو فن با هم مقایسه و به ترتیب رو به بالا آراسته گردیده و در یک آرایه تازه ذخیره میشوند.
در شرایطی که تروتمیزسازی با توفیق صورت پذیرد ، تابع مقدار حقیقی وواقعی را برمیگرداند در غیر این شکل false را برمیگرداند.
سینتکس Closure expression از موردها ذیل ، به کار گیری می نماید :
پارامترهای اثبات
پارامترهای متغیر
پارامترهای inout
Closure expression از مقادیر پیش فرض دفاع نمی نماید.
پارامترهای Variadic و Tuples نیز میتوانند تحت عنوان گونه های پارامترها و گونه های برگشتی به کارگیری شوند.
اصول روانشناسی طراحی اپلیکیشن که باید بدانید