ההבדל העיקרי בין חלש לבלתי בבעלות הוא ש- חלש הוא אופציונלי בעוד שלא בעלות הוא לא אופציונלי על ידי הכרזת זה חלש, אתה יכול לטפל במקרה שהוא עשוי להיות אפס בתוך סגירה בשלב מסוים. אם תנסה לגשת למשתנה לא בבעלות שהוא במקרה אפסי, הוא יקרוס את כל התוכנית.
מתי כדאי להשתמש ללא בעלות או חלשה?
השתמש בהפניה חלשה בכל פעם שהיא תקפה עבור שההפניה הזו תהפוך לאפסית בשלב מסוים במהלך חייה. לעומת זאת, השתמש בהפניה שאינה בבעלותך כאשר אתה יודע שההפניה לעולם לא תהיה אפסית ברגע שהיא הוגדרה במהלך האתחול.
מה ההבדל בין חלש לבלתי בבעלות?
ההבדל הראשון שאתה צריך לדעת עליו הוא שתמיד צפוי להיות ערך של הפניה שלא בבעלות…. כאשר זה קורה, ההפניה מוגדרת ל- nil. מכיוון שניתן להגדיר התייחסות חלשה ל-Nil, היא תמיד מוכרזת כאופציונלית. זה ההבדל השני בין הפניות חלשות לבלתי בבעלות.
מה ההבדל בין הפניה חלשה להפניה שאינה בבעלות?
הפניות חלשות וגם לא בבעלות לא ישפיעו על ספירת ההפניות של האובייקט. אבל התייחסות חלשה תמיד תהיה אופציונלית כלומר היא יכולה להיות אפסית, בעוד שהפניות שאינן בבעלות לעולם לא יכולות להיות אפסיות ולכן הן לעולם לא יהיו אופציונליות.
מה זה חזק, חלש ולא בבעלות?
ההבדל העיקרי בין הפניה חזקה לחלשה או לא בבעלות היא שהפניה חזקה מונעת את הקצאה של מופע המחלקה שאליו הוא מצביע. זה מאוד חשוב להבין ולזכור. … במילים אחרות, הפניות חלשות ולא בבעלות לא יכולות למנוע ביטול הקצאת מופע מחלקה