انواع داده مثل NSString یا NSNumber چه تفاوتی با انواع پایه مثل String یا Int در Swift دارد؟

0 رأی
میانگین بازدید روزانه 0.0657 بازدید

انواع داده مثل NSString یا NSNumber چه تفاوتی با انواع پایه مثل String یا Int در Swift دارد؟

سوال 2 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (336 امتیاز)
تغییر تالار 1 ماه قبل توسط Saeed Zarinfam

1 جواب

0 رأی

NSString و NSNumber انواع داده اولیه در Cocoa و Cocoa Touch هستند که با Objective-C تولید شده اند، برای اینکه امکان برنامه نوسی برای iOS و OS X با استفاده از Swift وجود داشته باشد امکان تبدیل این انواع داده به یکدیگر وجود دارد، به این انواع داده که مشترک هستند و قابل تبدیل به یکدیگر هستند bridged data type می گویند.

برای مثال با استفاده از کد زیر می توان مقدار یک شئ NSNumber را درون یک متغییر Swift ذخیره کرد:

let n = NSNumber(3.5)
let l = n.intValue
جواب 2 سال قبل توسط Saeed Zarinfam (336 امتیاز)
البته String و دیگر تایپ‌های Swift از جنس Value هستند و اکثر تایپ‌های obj-c از جنس کلاس که همین باعث میشه call by reference باشن درحالی که value های swift با Copy On Write(Cow) فرستاده می‌شوند به توابع مختلف.
و از Swift3.0 به بعد، راه صحیح استفاده برای bridge بین برخی تایپ‌های obj-c و Swift به طریق زیر است:
let n: NSNumber = 3
یا
let n = 3 as NSNumber

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 1.9246 بازدید
0 رأی
3 جواب میانگین بازدید روزانه 0.16145 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0982 بازدید
+1 رأی
3 جواب میانگین بازدید روزانه 2.67112 بازدید
+1 رأی
3 جواب میانگین بازدید روزانه 0.55907 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 1.051,542 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0656 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.15167 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.76897 بازدید
کانال تلگرام جواب یاب
...