Swift - Optionals
سوئیفت 4 همینطور Optionals type را معرفی می نماید که خلا یک مقدار را در دست طراحی اپلیکیشن در مشهد گرفتن می نماید.
مورد های از روی اختیار میگویند “یک مقدار وجود دارااست و موازی با x میباشد” یا این که “به هیچ عنوان پاره ای نیست”.
Optional به تنهایی یک type میباشد و در واقع یکی جدیدترین آیتم های سوئیفت 4 میباشد.
این دارنده دو مقدار ممکن میباشد، None و Some(T)، که در آن T یک مقدار مرتبط از type داده درست مو جود در سوئیفت 4 میباشد.
var perhapsInt: Int?
COPY
در اینجا یک اعلان فن ازروی اختیار میباشد :
var perhapsStr: String?
COPY
اعلان بالا مساوی مقداردهی اول آن به nil میباشد که به معنای خلا مقدار میباشد.
var perhapsStr: String? = nil
COPY
بیایید نمونه پایین را در لحاظ بگیریم تا بفهمیم که چهگونه آیتمهای از روی اراده در Swift 4 عمل مینمایند
var myString:String? = nil
if myString != nil {
print(myString)
} else {
print("myString has nil value")
}
COPY
خروجی :
myString has nil value
COPY
موردهای ازروی اختیار شبیه به کار گیری از nil با اشارهگرها در Objective-C می باشند،
ولی برای هر type ، خیر تنها کلاسها، شغل مینمایند.
Forced Unwrapping
درحالتی که متغیری را از روی اراده تعریفوتمجید نموده اید ، برای اخذ مقدار از این متغیر ، بایستی آن را گشوده فرمایید.
این صرفا به معنای قرار دادن یک نشانه تعجب در انتهای متغیر میباشد.
نمونه :
var myString:String?
myString = "Hello, Swift 4!"
if myString != nil {
print(myString)
} else {
print("myString has nil value")
}
COPY
خروجی :
Optional("Hello, Swift 4!")
COPY
اکنون اذن دهید unwrapping را جاری ساختن کنیم تا مقدار درست متغیر را بدست آوریم
var myString:String?
myString = "Hello, Swift 4!"
if myString != nil {
print( myString! )
} else {
print("myString has nil value")
}
COPY
خروجی :
Hello, Swift 4!
COPY
Automatic Unwrapping
میتوانید متغیرهای ازروی میل را با به کار گیری از نشان تعجب به مکان نشان پرسش اعلام فرمائید.
اینگونه متغیرهای ازروی اراده به صورت اتومات گشوده میشوند و برای اخذ مقدار تخصیص داده گردیده نیازی به استعمال از نشان تعجب دیگری در انتهای متغیر ندارید.
var myString:String!
myString = "Hello, Swift 4!"
if myString != nil {
print(myString)
} else {
print("myString has nil value")
}
COPY
خروجی :
Hello, Swift 4!
COPY
Optional Binding
از binding برای یافت کردن اینکه آیا یک valueاختیاری دربردارنده value میباشد یا این که نه، به کار گیری فرمایید، و در صورتیکه اینگونه میباشد، آن value را تحت عنوان یک constant یا این که variable موقت در دسترس قرار دهید.
یک optional binding برای امر if به طور پایین میباشد :
if let constantName = someOptional {
statements
}
COPY
Tuple ها
سوئیفت 4 Tuples type را نیز معرفی می نماید که برای دسته بندی چند مقدار در یک مقدار ترکیبی واحد به کار گیری می گردد.
مقادیر مو جود در یک تاپل میتوانند از هر نوع باشند و نیازی به یک نوع بودن ندارند.
از جمله، (“Tutorials Point”، 123) یک تاپل با دو مقدار میباشد ، یکیاز نوع فن و دیگری از نوع عدد درست میباشد.
شما میتوانید تاپل ها را از هر مقدار که میخواهید و از هر تعداد نوع داده متعدد ساخت و ساز نمایید.
در اینجا سینتکس اعلان تاپل آمده میباشد :
var TupleName = (Value1, value2,… any number of values)
COPY
با به کارگیری از اعداد شاخصی که از 0 آغاز میشوند میتوانید به مقادیر تاپل دسترسی پیدا نمایید.
در اینجا مثال ای از دسترسی به مقادیر tuple ، آمده میباشد.
print(“The code is\\(error501.0)”)
print(“The definition of error is\\(error501.1)”)
COPY
میتوانید متغیرهای یک تاپل را در زمان اعلان اسمگذاری نمائید و میتوانید با به کار گیری از اسم آنان را فراخوانی نمایید.
var error501 = (errorCode: 501, description: “Not Implemented”)
print(error501.errorCode) // prints 501.
COPY
تاپل ها در برگرداندن یکسری مقدار از یک تابع اثر گذار میباشند.
مانند، یک اپلیکیشن اینترنت ممکن میباشد یکسری نوع (“String”، Int) را برای نشانه دادن توفیق یا این که عدم توفیق بارگیری برگرداند.
با برگرداندن مقادیر متفاوت در یک تاپل ، میتوانیم بسته به اشکال گوناگون تاپل تصمیم گیری کنیم.
نکته ی قابل ذکر این میباشد که تاپل ها برای مقادیر موقت اثر گذار میباشند و برای داده های بغرنج مطلوب نیستند.
Constant ها
اثبات ها (Constants ) به مقادیر ثابتی اطلاق میشوند که ممکن میباشد نرم افزار در زمان اجرای خویش تغییرو تحول ندهد.
اثباتها میتوانند از هریک از اشکال دادههای اساسی مانند اثبات عدد درست، اثبات floating ، اثبات کاراکتر یا این که یک فن حقیقی وواقعی باشند ؛ همینطور اثبات های شمارش نیز وجود دارااست.
اثبات ها دقیقاً مانند متغیرهای بی آلایش خلق میشوند به جز این حقیقت که مقادیر آن ها بعداز تعریف و تمجید آنان قابل تغییر تحول نیستند.
پیش از اینکه از اثبات ها استعمال نمایید، می بایست آن ها را با استعمال از واژه و کلمه کلیدی let به طور تحت اعلام نمایید :
let constantName =
COPY
نمونه :
let constA = 42
print(constA)
COPY
خروجی :
42
COPY
Literal
همانگونه که گفته شد ، Literal اکران سورس کد مقدار یکی درست ، عدد floating-point یا این که string type میباشد.
42 // Integer literal
3.14159 // Floating-point literal
"Hello, world!" // String literal
COPY
Integer Literals
یکی درست میتواند یک اثبات اعشاری، باینری، اکتال یا این که هگزادسیمال باشد.
literal دودویی با 0b آغاز می شود ، صحبت اکتال با 0o و literal هگزا دسیمال با 0x و هیچ برای اعشار شروع میشود.
در اینجا یکسری مثال از literal اعداد درست آمده میباشد :
let decimalInteger = 17 // 17 in decimal notation
let binaryInteger = 0b10001 // 17 in binary notation
let octalInteger = 0o21 // 17 in octal notation
let hexadecimalInteger = 0x11 // 17 in hexadecimal notation
COPY
Floating-point Literals
یک floating-point literal دارنده یک بخش درست، یک نقطه اعشاری ، یک بخش کسری و یک بخش اقتدار میباشد.
شما میتوانید literal های ممیز شناور را به طور اعشاری یا این که هگزادسیمال نشانه دهید.
حروف ممیز شناور اعشاری متشکل از دنباله ای از ارقام اعشاری میباشد که بهدنبال آن یک کسر اعشاری، یک قدرت اعشاری یا این که هر دو قرار میگیرد.
literal ممیز شناور هگزا دسیمال از یک پیشوند 0x درست شده میباشد، درپی آن یک کسری هگزادسیمال از روی اراده و بهدنبال آن یک قدرت هگزا دسیمال.
در اینجا یک سری مثال از لفظ ممیز شناور آمده میباشد :
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
Swift - Optionals
سوئیفت 4 همینطور Optionals type را معرفی می نماید که خلا یک مقدار را در دست طراحی اپلیکیشن در مشهد گرفتن می نماید.
مورد های از روی اختیار میگویند “یک مقدار وجود دارااست و موازی با x میباشد” یا این که “به هیچ عنوان پاره ای نیست”.
Optional به تنهایی یک type میباشد و در واقع یکی جدیدترین آیتم های سوئیفت 4 میباشد.
این دارنده دو مقدار ممکن میباشد، None و Some(T)، که در آن T یک مقدار مرتبط از type داده درست مو جود در سوئیفت 4 میباشد.
var perhapsInt: Int?
COPY
در اینجا یک اعلان فن ازروی اختیار میباشد :
var perhapsStr: String?
COPY
اعلان بالا مساوی مقداردهی اول آن به nil میباشد که به معنای خلا مقدار میباشد.
var perhapsStr: String? = nil
COPY
بیایید نمونه پایین را در لحاظ بگیریم تا بفهمیم که چهگونه آیتمهای از روی اراده در Swift 4 عمل مینمایند
var myString:String? = nil
if myString != nil {
print(myString)
} else {
print("myString has nil value")
}
COPY
خروجی :
myString has nil value
COPY
موردهای ازروی اختیار شبیه به کار گیری از nil با اشارهگرها در Objective-C می باشند،
ولی برای هر type ، خیر تنها کلاسها، شغل مینمایند.
Forced Unwrapping
درحالتی که متغیری را از روی اراده تعریفوتمجید نموده اید ، برای اخذ مقدار از این متغیر ، بایستی آن را گشوده فرمایید.
این صرفا به معنای قرار دادن یک نشانه تعجب در انتهای متغیر میباشد.
نمونه :
var myString:String?
myString = "Hello, Swift 4!"
if myString != nil {
print(myString)
} else {
print("myString has nil value")
}
COPY
خروجی :
Optional("Hello, Swift 4!")
COPY
اکنون اذن دهید unwrapping را جاری ساختن کنیم تا مقدار درست متغیر را بدست آوریم
var myString:String?
myString = "Hello, Swift 4!"
if myString != nil {
print( myString! )
} else {
print("myString has nil value")
}
COPY
خروجی :
Hello, Swift 4!
COPY
Automatic Unwrapping
میتوانید متغیرهای ازروی میل را با به کار گیری از نشان تعجب به مکان نشان پرسش اعلام فرمائید.
اینگونه متغیرهای ازروی اراده به صورت اتومات گشوده میشوند و برای اخذ مقدار تخصیص داده گردیده نیازی به استعمال از نشان تعجب دیگری در انتهای متغیر ندارید.
var myString:String!
myString = "Hello, Swift 4!"
if myString != nil {
print(myString)
} else {
print("myString has nil value")
}
COPY
خروجی :
Hello, Swift 4!
COPY
Optional Binding
از binding برای یافت کردن اینکه آیا یک valueاختیاری دربردارنده value میباشد یا این که نه، به کار گیری فرمایید، و در صورتیکه اینگونه میباشد، آن value را تحت عنوان یک constant یا این که variable موقت در دسترس قرار دهید.
یک optional binding برای امر if به طور پایین میباشد :
if let constantName = someOptional {
statements
}
COPY
Tuple ها
سوئیفت 4 Tuples type را نیز معرفی می نماید که برای دسته بندی چند مقدار در یک مقدار ترکیبی واحد به کار گیری می گردد.
مقادیر مو جود در یک تاپل میتوانند از هر نوع باشند و نیازی به یک نوع بودن ندارند.
از جمله، (“Tutorials Point”، 123) یک تاپل با دو مقدار میباشد ، یکیاز نوع فن و دیگری از نوع عدد درست میباشد.
شما میتوانید تاپل ها را از هر مقدار که میخواهید و از هر تعداد نوع داده متعدد ساخت و ساز نمایید.
در اینجا سینتکس اعلان تاپل آمده میباشد :
var TupleName = (Value1, value2,… any number of values)
COPY
با به کارگیری از اعداد شاخصی که از 0 آغاز میشوند میتوانید به مقادیر تاپل دسترسی پیدا نمایید.
در اینجا مثال ای از دسترسی به مقادیر tuple ، آمده میباشد.
print(“The code is\\(error501.0)”)
print(“The definition of error is\\(error501.1)”)
COPY
میتوانید متغیرهای یک تاپل را در زمان اعلان اسمگذاری نمائید و میتوانید با به کار گیری از اسم آنان را فراخوانی نمایید.
var error501 = (errorCode: 501, description: “Not Implemented”)
print(error501.errorCode) // prints 501.
COPY
تاپل ها در برگرداندن یکسری مقدار از یک تابع اثر گذار میباشند.
مانند، یک اپلیکیشن اینترنت ممکن میباشد یکسری نوع (“String”، Int) را برای نشانه دادن توفیق یا این که عدم توفیق بارگیری برگرداند.
با برگرداندن مقادیر متفاوت در یک تاپل ، میتوانیم بسته به اشکال گوناگون تاپل تصمیم گیری کنیم.
نکته ی قابل ذکر این میباشد که تاپل ها برای مقادیر موقت اثر گذار میباشند و برای داده های بغرنج مطلوب نیستند.
Constant ها
اثبات ها (Constants ) به مقادیر ثابتی اطلاق میشوند که ممکن میباشد نرم افزار در زمان اجرای خویش تغییرو تحول ندهد.
اثباتها میتوانند از هریک از اشکال دادههای اساسی مانند اثبات عدد درست، اثبات floating ، اثبات کاراکتر یا این که یک فن حقیقی وواقعی باشند ؛ همینطور اثبات های شمارش نیز وجود دارااست.
اثبات ها دقیقاً مانند متغیرهای بی آلایش خلق میشوند به جز این حقیقت که مقادیر آن ها بعداز تعریف و تمجید آنان قابل تغییر تحول نیستند.
پیش از اینکه از اثبات ها استعمال نمایید، می بایست آن ها را با استعمال از واژه و کلمه کلیدی let به طور تحت اعلام نمایید :
let constantName =
COPY
نمونه :
let constA = 42
print(constA)
COPY
خروجی :
42
COPY
Literal
همانگونه که گفته شد ، Literal اکران سورس کد مقدار یکی درست ، عدد floating-point یا این که string type میباشد.
42 // Integer literal
3.14159 // Floating-point literal
"Hello, world!" // String literal
COPY
Integer Literals
یکی درست میتواند یک اثبات اعشاری، باینری، اکتال یا این که هگزادسیمال باشد.
literal دودویی با 0b آغاز می شود ، صحبت اکتال با 0o و literal هگزا دسیمال با 0x و هیچ برای اعشار شروع میشود.
در اینجا یکسری مثال از literal اعداد درست آمده میباشد :
let decimalInteger = 17 // 17 in decimal notation
let binaryInteger = 0b10001 // 17 in binary notation
let octalInteger = 0o21 // 17 in octal notation
let hexadecimalInteger = 0x11 // 17 in hexadecimal notation
COPY
Floating-point Literals
یک floating-point literal دارنده یک بخش درست، یک نقطه اعشاری ، یک بخش کسری و یک بخش اقتدار میباشد.
شما میتوانید literal های ممیز شناور را به طور اعشاری یا این که هگزادسیمال نشانه دهید.
حروف ممیز شناور اعشاری متشکل از دنباله ای از ارقام اعشاری میباشد که بهدنبال آن یک کسر اعشاری، یک قدرت اعشاری یا این که هر دو قرار میگیرد.
literal ممیز شناور هگزا دسیمال از یک پیشوند 0x درست شده میباشد، درپی آن یک کسری هگزادسیمال از روی اراده و بهدنبال آن یک قدرت هگزا دسیمال.
در اینجا یک سری مثال از لفظ ممیز شناور آمده میباشد :
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0

کارداران اثر گذار بر CPC در تبلیغات