PracticU

Explicitly unwrapped Optionals

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › Explicitly unwrapped Optionals
Explicitly unwrapped Optionals
השיעור מסביר את explicitly unwrapped optionals, כלומר פתיחה כפויה של ערך אופציונלי בעזרת סימן קריאה, ומדגיש את הסיכון שבשיטה הזאת.
צעדי העבודה
1. אופציונל: משתנה מוגדר כאופציונל בעזרת סימן שאלה, למשל Int?, והוא יכול לקבל ערך או nil.
2. פתיחה כפויה: סימן קריאה אחרי המשתנה, למשל h!, אומר לשפה שהערך לא nil, ומחזיר את הערך עצמו.
3. הסיכון: אם הערך כן nil, התוכנית קורסת. לכן השיטה מסוכנת, במיוחד כשלא בטוחים בערך שמתקבל מהמשתמש.
4. חלופה בטוחה: בדרך כלל עדיף optional binding, שבודק את הערך לפני השימוש.
הערות
השיטה מתאימה רק כשבטוחים לגמרי שהערך קיים. בכל מקרה אחר כדאי להשתמש בדרך הבטוחה.
כעת מבינים מה עושה סימן הקריאה, ולמה הוא נחשב לדרך מסוכנת.
השיעור הבא בקורס: Optionals: The nil coalescing operator

פרקי ההרצאה: Explicitly unwrapped Optionals

  1. 00:00

    Optional והגדרתו עם סימן שאלה

  2. 00:39

    קלט מהמשתמש שעלול להיות ריק

  3. 01:34

    פתיחה ישירה של Optional עם סימן קריאה

  4. 02:11

    ויתור על בדיקת ה-nil והשמה לטיפוס Int

תמלול ההרצאה: Explicitly unwrapped Optionals

הטקסט המלא של הדקות הראשונות בהרצאה «Explicitly unwrapped Optionals» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום וברוכים הבאים בשיעורים הקודמים למדנו על אופצ'ונלס אבל אנחנו רוצים להרחיב עוד טיפה את היריעה בשיעור הקודם ראינו סינטקס שאומר את הדבר הבא אני לא יכול להגדיר משתנים ולשים בהם ניל אלא אם כן הגדרתי אותם כאופצ'ונל משהו אופצ'ונל יכול להיות אופצ'ונל סטרינג יכול להיות אופצ'ונל אינט או אופצ'ונל כל סוג

  2. 00:24

    משתנה יכול להיות אופצ'ונל את האופצ'ונל אנחנו מציינים עם סימן שאלה בוא נשים פה איזשהו ערך למשל 21 אוקיי עכשיו המספר הזה 21 גם אני אערוך בו נגיד שינוי מותר לי בגלל שזה משתנה ולא קבוע ואפילו מותר לנו לשים כאן ניל בגלל שציינו בפירוש שמדובר באופציונל אוקיי עכשיו בעצם הדבר הזה יכול להיות כל קלט שקיבלתם

  3. 00:55

    מהיוזר או מהמשתמש או מהמשתמשת כי בעצם אנחנו מקבלים קלט אנחנו לא יודעים עדיין אם נקבל משהו לא נקבל משהו אנחנו תמיד צריכים להתייחס לדבר הזה כל אופציונל, אוקיי?

  4. 01:08

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

  5. 01:22

    אופציונל ביינדינג אומר אני אבדוק קודם כל שה-h במשפט מיוחד שנקרא אופציונל ביינדינג הוא לא ניל ורק אחר כך אני אשתמש בו, אוקיי? שעשינו בשיעור שעבר מה אני רוצה לחדש לכם היום אנחנו יכולים לא להשתמש באופציונל ביינינג יש כמה דרכים לטפל באופציונל מסויף דרך אחת שאולי אתם תראו במקומות מסוימים תהיה להדפיס את ה-h בצורה הבאה h סימן קריאה

  6. 01:51

    אתם רואים עכשיו מה שהדבר הזה אומר הוא אומר לא אכפת לי אני עליי אני מבטיח לכם שזה לא יהיה ניל ואם זה יהיה ניל תקריס לי את התוכנית הדבר הזה הוא למעשה נקרא explicitly unroped אופציונל explicitly un-routed אופציונל ומה שאני אומר פה לסוויפט אני בטוח במאה אחוז שאין פה שום בעיה ויש פה גיל והכל תקין אפילו הייתי יכול להגיד let certified cert

  7. 02:21

    שווה לh סימן קריאה אוקיי ובוא נבדוק מה הטייפ של cert אוקיי זאת אומרת ברגע שעשיתי את זה אני אומר אני יודע שיש פה אינטג'ר עזבו אותי אני רוצה שהדבר הזה יהיה פשוט מספר אוקיי אבל מה עשיתי פה בעצם, ויתרתי על ההגנה, ויתרתי

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: משתנים שיכולים לקבל ערך - Optionals

ההרצאה הבאה: Optionals: The nil coalescing operator

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון