ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-21, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Swift ක්ලස්ස්: කොපි එකක් කරලා මුල් වස්තුවත් වෙනවා! 🚀

Swift ක්ලස්ස්: කොපි එකක් කරලා මුල් වස්තුවත් වෙනවා! 🚀

Swift භාෂාවේ ක්ලස්ස් (class) සහ ස්ට්‍රක්ට් (struct) අතර වෙනස ගැන කතා කරමු; නවකයින්ට “කොපි” කියලා කියන්නේ මොකක්ද කියලා හුදෙක්ම අමුතුයි.

උදාහරණයක් ලෙස, නින්ජා නාමයක් සහ බල මට්ටමක් ගන්නා Ninja කියන ක්ලස්ස් එකක් නිර්මාණය කරමු. පසුව ඒකේ උදාහරණයක් (instance) සෑදලා, ඒකේ රෙෆරන්ස් එකක් තවත් වෙනත් වරියකට (variable) පවරා, නම වෙනස් කළොත් මුල් උදාහරණයත් ඒකම වෙනස් වෙයි. මෙය පෙන්වන්න පහත කේතය බලන්න:

var naruto = Ninja(name: "Naruto", powerLevel: 9000)
var naruto2 = naruto
naruto2.name = "Sasuke"

ඉන්පසු print(naruto.name) කියන විට “Sasuke” කියලා පෙන්වයි. එනම්, කොපි එකක් කරලා නව නමක් දීලාම මුල් වස්තුවත් ඒ නමටම පත්වෙයි. මෙය බග් එකක් නොව, ක්ලස්ස් එකේ “reference type” ස්වභාවයයි.

Swift තුළ ස්ට්‍රක්ට් එකක් value type එකක් වන අතර, එහි දත්ත සෘජුවම variable එකේ රඳා පවතී. ඒකේ කොපියක් ගතකොට, නව පත්‍රයක් (copy) ලැබෙනවා; එකක් වෙනස් කළාම අනෙක් එකට බලපාන්නේ නැත. එයට විරුද්ධව, ක්ලස්ස් එකේ දත්ත මතකයේ එක ස්ථානයක රඳා, variable එක “සයින්පොයින්ට්” (signpost) එකක් පමණයි. එම සයින්පොයින්ට් දෙකම එකම දත්තට යොමු කරයි; ඒ නිසා එකක් වෙනස් කළොත් අනෙක් එකත් ඒ වෙනස්කම දකිනවා.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • iOS යෙදුම් සංවර්ධනයේ state management සරල කරයි; එකම පරිශීලක දත්ත බහු තිරයන්හි සමඟ හුවමාරු වීමට අවශ්‍ය නොවේ.
  • ශ්‍රී ලාංකීය ඩිවෙලොපර්ලාට reference type භාවිතය නිවැරදිව තේරුම් ගත හැකි නිසා, වැඩි දක්ෂතා සහිත app ගොඩනැගීමේ හැකියාව ලැබේ.
  • ඉන්ටර්ප්‍රයිට් කිරීමේ දෝෂය අඩු කරයි; දත්ත අස්ථාවරත්වය නිසා පෙනෙන බග්‌ ගණන අඩු වේ.
  • කොපි කිරීම අවශ්‍ය නම්, copy() වැනි method එකක් ලියලා true copy එකක් ලබාගත හැකි බැවින්, අවශ්‍යතාවය අනුව flexibility ලැබේ.

අවසන් වශයෙන්, Swift හි ක්ලස්ස් එකේ රෙෆරන්ස් ස්වභාවය හොඳින් අධ්‍යයනය කරගන්නා මොහොතේ, ඔබගේ iOS app එකේ data consistency, performance, maintainability යන අංගවලට ලාභයක් ලැබෙනු ඇත. මෙය ඔබේ මෘදුකාංග ජීවිතයට නව මට්ටමක් ගෙන එයි.

💡 ඔබේ iOS යෙදුමට රෙෆරන්ස් වර්ගය තේරුම් ගන්න දැන්ම කියවන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Swift #Classes #Copy #iOS #Programming