0 امتیاز
قبل در کامپیوتر و اینترنت توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

در زبان برنامه نویسی Swift یک متغییر optional را می توان به دو صورت زیر تعریف کرد:

var optionalString: String? = "Hello"
var optionalString: String! = "Hello"

تفاوت این دو روش تعریف متغییر optional چیست؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

در زبان برنامه نویسی Swift وقتی یک متغییر بصورتOptional تعریف می شود، برای استفاده حتما باید unwrap شود تا بتوان به مقدار درونی آن دسترسی پیدا کرد، از ! برای unwrap یک متغییر Optional که با ? تعریف شده است استفاده می شود:

var optionalString: String? = "Hello"

optionalString!.isEmpty

هر جایی که بخواهید به یکی از متد ها یا property های optionalString دسترسی داشته باشید باید آن را unwrap کنید. حالا اگر زمان تعریف optionalString بجای ? از ! استفاده کنیم دیگر نیازی به unwrap کردن در هر بار استفاده نیست و به این نوع متغییر ها implicitly unwrapped optional می گویند:

var optionalString: String! = "Hello"

optionalString.isEmpty

سوالات مشابه

0 امتیاز
0 پاسخ 346 بازدید
0 امتیاز
0 پاسخ 254 بازدید
0 امتیاز
1 پاسخ 466 بازدید
0 امتیاز
1 پاسخ 396 بازدید
+2 امتیاز
1 پاسخ 1.6هزار بازدید
0 امتیاز
1 پاسخ 733 بازدید
...