تفاوت اصلی بین ضعیف و بی مالک این است که ضعیف اختیاری است در حالی که غیراختیاری غیراختیاری است با اعلام ضعیف، می توانید به این مورد رسیدگی کنید که ممکن است در داخل آن صفر باشد. بسته شدن در مقطعی اگر سعی کنید به یک متغیر ناشناس دسترسی پیدا کنید که به طور اتفاقی صفر است، کل برنامه از کار می افتد.
چه زمانی باید از unknown یا ضعیف استفاده کنید؟
از یک مرجع ضعیف هر زمان که برایمعتبر است استفاده کنید تا در طول عمر آن مرجع صفر شود. برعکس، وقتی میدانید که مرجع پس از تنظیم اولیه، هرگز صفر نخواهد بود، از یک مرجع ناشناس استفاده کنید.
تفاوت بین ضعیف و بی مالک چیست؟
اولین تفاوتی که باید در مورد آن بدانید این است که انتظار می رود یک مرجع ناشناس همیشه دارای یک مقدار باشد…. وقتی این اتفاق می افتد، مرجع روی nil تنظیم می شود. از آنجا که یک مرجع ضعیف را می توان روی صفر تنظیم کرد، همیشه به عنوان یک مرجع اختیاری اعلام می شود. این دومین تفاوت بین مراجع ضعیف و ناشناس است.
تفاوت بین یک مرجع ضعیف و یک مرجع ناشناس چیست؟
هم ارجاعات ضعیف و هم ارجاعات نامشخص بر تعداد ارجاع شیء تأثیری ندارند. اما مرجع ضعیف همیشه اختیاری خواهد بود یعنی می تواند صفر باشد، در حالی که مراجع ناشناس هرگز نمی توانند صفر باشند بنابراین هرگز اختیاری نخواهند بود.
قوی ضعیف و ناشناس چیست؟
تفاوت کلیدی بین یک مرجع قوی و یک مرجع ضعیف یا نامشخص این است که یک مرجع قوی از توزیع نمونه کلاسی که به آن اشاره می کند جلوگیری می کند. درک و به خاطر سپردن آن بسیار مهم است. … به عبارت دیگر، مراجع ضعیف و ناشناس نمی توانند مانع از اختصاص یک نمونه کلاس شوند