
הטקסט המלא של הדקות הראשונות בהרצאה «עבודה עם תאריכים - UIDatePicker» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים אנחנו רוצים לדבר היום על עבודה עם תאריכים וגם על עבודה עם פקד בשם דייט פיקר אז בואו נבדוק איך אנחנו מתקדמים אנחנו נפתח את אקסקוד ונייצר פרויקט חדש לשיעור אז פייל ניו פרוג'קט באקסקוד הפרויקט הוא כמו תמיד סינגל וי אפליקיישן וכאן אנחנו רוצים לכנות
את הפרויקט שלנו דייט דמו נגיד עבודה עם תאריכים ואנחנו כמובן בשפת סוויפט ואני אשמור את הפרויקט במקום הרגיל שבו אני שומר את כל פרויקט.
יפה. בואו ניגש רגע לסטורי בור. אנחנו רוצים להכיר את הדייט פיקר אז אני אפתח כאן את האובג'קט ליבררי.
אני אבטל את הסינון ואני אמצא כמובן או שאני יכול לסנן מחדש. בואו נסתכל כאן קצת ואנחנו יכולים לראות מספר די רב של פקדים אבל ביניהם יש את הדייט פיקר והפיקר וויו.
כרגע אנחנו נתעסק עם הדייט פיקר למרות שהפיקר ביום מאוד מעניין גם כן ואנחנו נדבר עליו בשיעור הבאים אז הנה הדייט פיקר במלוא הדרון, אני אשים אותו איפשהו מבחינת אילוצים זה לא הנושא של השיעור אז אני ממקם אותו על ידי add new constraints ואני פשוט נועץ אותו בפינות של המסך העליונות, יפה
זה הדייט פיקר שלי, מה אני יכול לעשות איתו, איזה מין דברים אם אנחנו מסתכלים באטריביוטס אז אנחנו רואים שאנחנו יכולים לכוון אותו קצת לתת לנו רק זמן וככה לתת איזשהו טיימר נחמד.
אנחנו יכולים לתת רק דייט, בסדר, ואנחנו יכולים לתת גם דייט וגם זמן. אפשר גם להגיד שאנחנו רוצים טיימר לספירה לאחור במקום טיימר קדימה, ואלה למעשה האפשרויות שלנו.
יש פה גם עניינים של לוקאל, ואז אנחנו יכולים להברט את הדבר הזה או להפוך את זה לשפות אחרות. וכמובן באיזה תאריך אנחנו רוצים שזה יתחיל, האם אנחנו רוצים שזה יתחיל בתאריך הנוכחי, או האם אנחנו מעוניינים לקסטם את התאריך.
אנחנו נרצה עבור ההדגמה שלנו לעכשיו לעבוד עם תאריכים, זה הנושא שלנו היום. אז אני אשאיר את זה על דייט. עכשיו האמת היא בואו נעשה גם דייט וגם טיים וככה נרוויח יותר בסדר אז בואו נשים דייט וטיים.
עכשיו בנוסף בואו נייצר לעצמנו אאוטלט עבור הפקד אז אני פותח את האסיסטנט אדיטור כאן על ידי לחיצה על שני החישוקים ואנחנו נגרור לעצמנו ואם אתם רוצים אנחנו יכולים גם לגרור בנוסף לאאוטלט שיהיה לנו אאוטלט לדייט פיקר זה גם נחמד נכון אנחנו בנוסף לאאוטלט גם יכולים לגרור איבנט אקשן סליחה אקשן בוא נראה אנחנו נרצה שהטייפ יהיה כרגיל הטייפ של הפקד וכאן בוא נאמר אנחנו רואים value change זאת
אומרת הדייט has been picked יפה אז יש לי אאוטלט ויש לי אקשן אנחנו יכולים לסגור את האסיסטנט אדיטור ולראות מה אנחנו יכולים לעשות ב-code behind מצוין.
אז אני סוגר את ה-assistant editor ואני הולך ל-view controller ואני אפנה לעצמנו פה קצת שטח כדי שיהיה לנו נעים לעבוד. שווה להריץ את הסימולטור רק בשביל שלא ייקח לכם הרבה זמן אחר כך ובואו נצא לדרך.
דבר ראשון, המתודה הזאת, הפעולה הזאת תיקרה ברגע שהיה שינוי. אז בואו נעשה דבר דבר, הדבר הראשון שאני אעשה אני אנסה להדפיס ככה את הסנדר נקודה דייט, סנדר זה הדייט פיקר שעליו התרחש השינוי ולסנדר יש לו דייט פיקר, יש לו דייט סליחה ויש לו אפילו איזשהו קלאסנו
עניין שגם נקרא קלנדר אנחנו ננסה עוד מעט להגיד מה זה כל אחד מהקלאסים אבל אני חושב שטוב מראה עיניים בסדר אז הרצנו בוא נריץ שוב פעם ההרצה תהיה זריזה יותר ורק ככה נריך את זה בשינויים אז אני משנה פה קצת את התאריך והופ אני רואה את התאריך בסדר עכשיו לא לא שינינו את הלוקאל אז
אנחנו לא מצפים לראות יותר מדי דברים לגבי קלנדר ופשוט מה זה הסנדר נקודה דייט זה פשוט התאריך. אני רוצה להגיד לכם כמה דברים לגבי הקלאס של דייט ב-iOS. הקלאס של דייט של iOS בואו נראה let d שווה דייט חדש לא קלאס שנותן לנו המון המון יכולות הוא קלאס יחסית בסיסי וטוב להעביר זמנים אבל בצורה פשוטה אין המון מתודות אפשר להוסיף time interval
שtime אינטרוויל זה פשוט מספר ארוך בסדר כמו דאבל כזה שאנחנו יכולים להוסיף אבל כמו שאתם רואים אין לנו פה המון פעולות אם תסתברו פה קצת על הפעולות אז אפשר לראות כמה זמן עבר משנת 1970 לא המון בסדר כמה זמן יש בין התאריך הזה לתאריך של עכשיו לא הרבה זה לא כמו קלאסים אחרים בשפות אחרות שבהם
אתם נתקלים פה בהרבה מאוד מידע אם אנחנו רוצים לפרק את הדבר הזה לתאריכים את הדייט לפרק אותו לקומפוננטות נגיד אתם רוצים יום, מנס, נכון? בנפרד, אז כבר הדייט קלאס לא מספיק כבורנו.
ברגע שאנחנו רוצים קצת לעבוד יותר וקצת לקבל יותר פירוט, אנחנו ניגש להשתמש ב-calendar. אז בואו נייצר לעצמנו קודם כל הדייט שאני אבחר להשתמש בו זה לא הדייט הזה, זה הדייט של עכשיו.
הדייט שאני רוצה להשתמש בו בטוטוריאל זה הסנדר נקודה דייט, שזה התאריך שהיוזר בחר ב-UI, היוזר ככה מזיז פה תאריך או פעם בוחר תאריך זה מה שנראה פה בסנדר נקודה דייט והטייפ של זה הוא כמובן דייט כמו שהראתי לכם קודם אז אתם גם יודעים להגיד מה התאריך של עכשיו התאריך של עכשיו זה פשוט דייט כזה בסדר תמיד דייט
נקודה נאו שכזה עכשיו זה התאריך שהיוזר בחר ועכשיו אנחנו רוצים ליצור מופע של הקלנדר שעוזר לנו לפרק את הדייט לקומפוננטות אז אנחנו קודם כל רוצים קלנדר חדש בואו נבחר לעצמנו קלנדר גרגוריאני נקודה גרגוריאן אנחנו לא רוצים להתעסק עם הלוח שנה העברי אלא אם כן אנחנו כן רוצים ואז זה גם כן לחלוטין
אפשרות אני פשוט מעדיף לעבוד כרגע עם הלוח שנה הלועזי אבל אתם מוזמנים לשאת את המדריך הזה איתי ביחד על עברית ויעבוד לכם נהדר גם כן עכשיו מה שאני ארצה אני ארצה לפרק את זה לקומפוננטות בעזרת הקלנדר קלאס אז השנה תהיה c שזה הקלנדר שלי נקודה תן לי בבקשה
הקומפוננטה שנקראת נגיד year מתוך התאריך בסדר ובאותו אופן אנחנו יכולים לפרק את זה ל-month, day, hour ו-minute אז בואו נעשה את מאחורות ה-day יפה ו-hour ו-minute נכון אני ארד רק שורה כדי שיהיה לי יפה ומסודר וזה אנחנו משיגים את המטרה שלנו אז ה-calendar class עוזר לי לפרק את
זה לרכיבים ולקומפוננטות year, month אני מדפיס בואו נראה את התוצאה, יפה כבר הספקנו פה לראות לא רק את הדייט פיקר אלא גם איזה שתי קלאסים הדייט והקלאס של ה...
הקראתי לזה מין אז עוד שנייה רגע אולי מין זה שם יותר יפה אז אני אסדר את זה גם כאן אז ראינו את הקלאס של הדייט ראינו איזשהו שימוש בסיסי בקלאס של הקלנדר לטובת העניין לטובת מה שאנחנו צריכים להשיג בסדר אני רואה שכל התאריך הזה מפורק בצורה טובה בואו נזיז פה את הזמן יפה מאוד 30, 14, בדיוק כמו שאנחנו ככה מצפים כי ה-2 הזה 2 PM. בואו נזיז את זה, הופה, 2 רגיל,
נכון? מגניב, יפה מאוד, אז אנחנו בעצם יכולים ללמוד מהדוגמה הזו די הרבה והיה מאוד מאוד פשוט ונחמד.
עוד דבר שאפשר לעשות עם תאריכים, בואו נסתכל רגע על השקפים שהכנתי לנו, נראה מה אנחנו מצפים לקבל היום. אז ראינו איך עובדים פה עם הדייט פיקר בצורה בסיסית, ראינו שיש את הקלאס של דייט, זה קלאס בסיסי מדי והקלאס הזה לא לוקח בחשבון כל מיני דברים בtime zones ולכן אנחנו משתמשים בקלאס של
calendar כדי להוסיף ולפרק קומפוננטות ואם אנחנו רוצים לבוא ולהדפיס את התאריכים שלנו אז אנחנו נשתמש בקלאס נוסף שנקרא date formatter בסדר אז בואו ננסה לראות איך משתמשים בdate formatter כדי להדפיס את התאריכים שלנו באיזושהי צורה שנפשנו חפצה בסדר נגיד יש לי תאריך רוצה להדפיס אותו בצורה יפה לא בעזרת הפרינט הזה למרות שזה עוזר לי לפרק
לקומפוננטות אלא בואו ננסה להתעסק עם הדייט פורמטר דייט פורמטר אני אקרא לו דייט פורמטר ואנחנו נייצר דייט פורמטר חדש כמובן שזה קלאס קיים בסדר ואנחנו נתחיל אותו בצורה הפשוטה ביותר הדייט פורמטר שלי צריך דייט פורמט עכשיו פורמט למקרה שאתם לא זוכים מהלימודים הקודמים זה נתון בטבלה של פורמטים
בסדר בוא אני אראה לכם דוגמא. נניח אם אני רוצה לייצג שנים אז אני אשתמש באות y ואם אני רוצה לייצג את השנה בשתי ספרות אז אני אשתמש בy y אם אני רוצה לייצג את השנה בארבע ספרות אז אנחנו ככה נעשה את זה בy y y בסדר וככה הלאה זאת אומרת יש לי איזשהו סטרינג שאני כותב כדי לקבל ייצוג של חודש בספרה אחת,
חודש בשתי ספרות וחודש באנגלית נניח או חודש