למה iboutlet חלש?

תוכן עניינים:

למה iboutlet חלש?
למה iboutlet חלש?
Anonim

@IBoutlet גורם ל-Interface Builder לזהות את השקע. פרטי מבטיח שאין גישה לשקע מחוץ לכיתה הנוכחית. חלש משמש מכיוון שברוב המצבים הבעלים של השקע אינו זהה לבעלים של התצוגה. לדוגמה, בקר תצוגה אינו הבעלים של someLabel - התצוגה של בקר התצוגה כן.

האם IBOutlets צריכים להיות חלשים?

התשובה הרשמית מאפל היא ש-IBoutlets צריכים להיות חזקים. המקרה היחיד שבו IBOutlet אמור להיות חלש הוא כדי למנוע מחזור שמירה. מחזור התייחסות חזק עלול לגרום לדליפות זיכרון ולקריסות אפליקציה.

מה זה IBOutlet Swift?

הסמכה של הסוג IBOutlet היא תג שהוחל על הצהרת נכס כך שהיישום Interface Builder יוכל לזהות את הנכס כשקע ולסנכרן את התצוגה והחיבור שלו עם Xcode. שקע מוכרז כהתייחסות חלשה (חלש) כדי למנוע מחזורי התייחסות חזקים.

מהי התייחסות חלשה ב-Swift?

הפניות חלשות. הפניה חלשה היא הפניה שאינה שומרת חזקה על המופע שאליו הוא מתייחס, ולכן לא מונעת מ-ARC להיפטר מהמופע אליו מתייחסים. התנהגות זו מונעת מההפניה להפוך לחלק ממחזור התייחסות חזק.

מה ההבדל בין חלש לחזק ב-Swift?

A strong פירושה שאתה רוצה "להחזיק" את האובייקט שאליו אתה מפנה עם המאפיין/המשתנה הזה. לעומת זאת, עם חלשהפניה אתה מסמל שאינך רוצה שתהיה לך שליטה על חיי האובייקט.

מוּמלָץ: