
הטקסט המלא של הדקות הראשונות בהרצאה «טיפוסי מנייה - מסוג Enums וגם raw values» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים אנחנו רוצים להתחיל לדבר היום על אינאמפס אינאמפס הם טייפ למעשה בסוויפט או טיפוס של משתנה בסוויפט ואנחנו רוצים להתחיל לדבר עליו אז בואו נתחיל לדבר קודם כל לאינאמים בעברית קוראים להם טיפוסי מניעה בואו נראה מה זה אומר אינאם בעצם מייצג רשימה מוגדרת של אפשרויות
למשל אם אתם רוצים לתת למשתמש שלכם לבחור אחת מבין שלוש אפשרויות בוקר צהריים או ערב או למשל אתם רוצים לתת למשתמש לבחור יום בשבוע או שעה מתוך מגוון של שעות אולי אתם רוצים לתת לו לבחור את עונת השנה או איזשהו פרי מרשימה של פירות אנחנו בעצם מגדירים פה רשימה מוגדרת של אפשרויות ולכן יומלץ לנו להשתמש בטיפוס
מניעה או במילה in-app כן זה אותו טייפ אז יש לנו סוג משתנה בשביל הדבר הזה בסוויפט ובואו נראה מה איך אנחנו בעצם משתמשים בזה בואו נקפוץ ונעשה איזושהי דוגמה כדי לראות איך מייצגים טיפוסי מניעה בקובץ שלי אני יכול לייצר ממש פה טיפוס מניעה בצורה הזאת הנה טיפוס המניעה הראשון שלנו
למשל נקרא ל-enum שלנו day עבור ה-day אני יכול לבחור איזה ימים אני רוצה לאפשר ברשימת הבחירה אז יש לנו מקרה ראשון של יום ראשון אנחנו יכולים להמשיך ולציין את כל הימים באיזה סינטקס שתרצו יש פה הרבה סינטקסים אפשריים ונחמדים אני אראה כמה אופציה מספר אחת כפי שאתם רואים מאוד מאוד פשוט יש לי כאן אינם
מאוד מאוד נוח עכשיו תראו זה טיפוס של משתנה קוראים לו day הטיפוס הזה רצוי שהוא יהיה בקובץ נפרד אפשר להשאיר אותו פה בקובץ זה לא בלתי חוקי אבל הרבה פעמים אנחנו מגדירים טיפוסים בקובץ משל עצמם בוא אני אדגים את זה אני פשוט עומד פה בתיקייה ועושה קליק ימני כדי לייצר קובץ חדש new file בתוך התיקייה כמובן עכשיו אנחנו נבחר בקובץ נקרא לקובץ day זה פשוט
מאוד מסודר ויותר ככה אלגנטי ופה אנחנו יכולים להגדיר בדיוק את אותו אינם שלנו מקודם אז אני אגזור אותו מכאן ואשים אותו בקובץ הנפרד עכשיו לצורך הדוגמא דווקא אתם יכולים להגיד היה עדיף שהכל יהיה לנו באותו מסך ויהיה לנו נוח אבל מבחינה מקצועית ואני צריך להיות איתכם פה בקצרי הרבה פעמים אנחנו נרצה לשים דברים בצורה מסודרת בקובץ נפרד
איך משתמשים באינם אז אני אשים אותו פה לידינו אבל אני אשים אותו בהערה כדי שיהיה לנו בכל זאת מול העיניים אחר כך נמחק אותו כי הוא כמובן מוגדר בקובץ נפרד אז אנחנו לא צריכים את ההערה פה איך נשתמש באינם איך נוכל לבחור יום האמת שזה מאוד מאוד פשוט אנחנו נגדיר לעצמנו איזשהו קבוע שיהיה היום
שרצינו לבחור וכל מה שאני צריך לעשות זה לבחור בday נקודה ולראות את הימים שציינתי כאן רואים נגיד sunday או אחד הימים אני יכול לראות שבאמת זה לא בכדי וזה לא איזשהו אינם שכבר היה קיים, אני יכול ללחוץ פה קומאנד ולחיצה עם העכבר
ולהגיע לקוד המקור שזה הקובץ שכתבתי זה אתה. בסדר? אז הנה מבט ראשון, הצצה ראשונה לאינמים בסוויפט. כמובן אנחנו צריכים להדפיס את זה כדי שהקומפיילר לא יכעס שלא השתמשנו במשתנה שייק דאון. דרך אגב יודפס מאוד יפה, יודפס כמו שאתם רוצים, אני אדגים את זה, לא עיקר הדברים אלא
העיקר פה זה להגדיר משתנה מסוג רשימה של אפשרויות או מסוג טיפוס מניעה. עכשיו, קראנו לזה טיפוס מניעה. מעניין למה אנחנו קוראים לזה טיפוס מניעה כי אני לא מבין עדיין את השם הזה.
אמרתי לכם רק שזה רשימה מוגדרת של אפשרויות. אז בואו נראה. אני מסתכל על האינם הזה ואני רוצה בעצם לייחס לימים בשבוע איזשהו מספר, איזשהו ערך מספרי.
לכן קוראים להם טיפוסי מניעה, מניעה לספור. בואו נראה איך עושים את זה, אני יכול להגיד שלאינאם הזה בעצם משוייך ערך מספרי מסוג אינטג'ר ואנחנו נקרא לאינאם הזה אינאם שיש לו רואו וליו אוקיי, רואו וליו זה איזשהו ערך מספרי ערך לאו דווקא מספרי אבל איזשהו ערך מאחורי הקלעים עבור כל
אחד מהפרמטרים מהאפשרויות. עכשיו הערך המספרי של סאנדי מסתבר הוא 0 בואו נוכיח לכם את זה, כן אז בואו נדפיס אותו בואו נראה איך אנחנו מדפיסים, אני מקליד d.raw value שאמרנו שזה הערך המצורף בגלל שהוספנו פה שday יש לו ערך מצורף של מספר,
רואים? אז מספר int ולכן day משויך לו אינטג'ר, sunday יקבל 0, monday יקבל 1 וכולי. בואו נראה איך זה נראה. אני פשוט אדפיס את זה ואני רואה פה למטה את התוצאה של 0, אחרי הרצה כמובן.
מה קורה אם אני עכשיו אנסה להקליד sunday, שלישי טיוזדיי סליחה יום שלישי אמור לקבל איזה ערך אתם אומרים זה אמור לצאת לשתיים בגלל שאנחנו מתחילים לספור פה מאפס ואולי זה יכול להרגיש לכם קצת מוזר הייתם רוצים שיום שלישי יקבל את המספר שלוש למשל בוא נראה כן אתם רואים הוא קיבל שתיים אז איך אנחנו יכולים בכל זאת לשלוט טיפה בערך
נחזור בחזרה לאינם שלנו ונגיד אנחנו רוצים שסנדי יהיה אחד באופן אוטומטי סוויפט יודעת שמונדיי זה 2 וטיוסדיי יהיה 3 הפעם. בואו נריץ ונבדוק את מה הרפסתי עבור טיוסדיי.
3, 4 ו-3. מצוין. אז עכשיו סנדיי זה 1, מונדיי זה 2, טיוסדיי זה 3. זה לא חייב להיות ערך חוקם, אתם יכולים להגדיר את הערכים בעצמכם עבור כל אחד מהימים, איזשהו ערך שאתם רוצים, אבל אפשר לומר שזאת הסיבה שקוראים לדבר הזה