PracticU

עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 1
מילון מושגים:
Xcode - סביבת הפיתוח של אפל לכתיבת אפליקציות ל-iOS ול-macOS.
iOS - מערכת ההפעלה של אפל למכשירי iPhone ו-iPad.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
קונטרולר - רכיב שמתווך בין הממשק לבין הלוגיקה והנתונים, מקבל בקשות ומחליט כיצד לטפל בהן (למשל בדפוס MVC).
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 1
בשיעור לומדים להציג הודעות קופצות (alerts) באפליקציית iOS באמצעות UIAlertController. זהו חלק ראשון בסדרה על דיאלוגים, והוא מציג את היסודות: יצירת ההודעה, הוספת כפתור והצגתה.
הכנה
- עוטפים את ה-View Controller ב-Navigation Controller, ומוסיפים לו כפתור פלוס בשורת הכותרת.
- כפתור הפלוס מחובר ל-Action, שמציג את ההודעה בכל לחיצה.
יצירת ההודעה
1. בתוך ה-Action יוצרים UIAlertController עם title, message ו-preferredStyle מסוג alert.
2. ה-title הוא הכותרת שבראש ההודעה, וה-message הוא הטקסט שמתחתיה.
3. המרצה מציג שאפשר להוסיף אמוג'ים ותווים מיוחדים לטקסט דרך תפריט Emoji בעורך.
הצגה
- ההודעה מוצגת על ידי הפעולה present, שמקבלת את ה-controller, פרמטר animated, ובלוק completion.
- הבלוק completion הוא קטע קוד שמופעל אחרי שההודעה הוצגה. המרצה מדגים זאת בהדפסה שמופיעה אחרי ההצגה.
כפתורים
- ההודעה שנוצרה בלי כפתורים לא ניתנת לשחרור, ולכן צריך להוסיף UIAlertAction.
- ל-UIAlertAction יש title, style (למשל default) ו-handler. ה-handler הוא בלוק שמופעל כשהמשתמש לוחץ על הכפתור, והוא מקבל את האקשן שנלחץ.
- הכפתור נוסף להודעה באמצעות addAction. לאחר מכן ההודעה נשחררת בלחיצה על הכפתור, והקוד בתוך ה-handler רץ.
המרצה מסביר שהבלוק הוא סינטקס של closure, שבו קטע קוד נכתב בתוך הפעולה ללא צורך בפונקציה נפרדת.
הסיכום: UIAlertController יוצר הודעה, present מציג אותה, ו-UIAlertAction מוסיף כפתורים שמפעילים closure בלחיצה.
השיעור הבא בקורס: עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 2

פרקי ההרצאה: עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 1

  1. 00:00

    הכנת פרויקט עם כפתור בסרגל הניווט

  2. 02:21

    יצירת UIAlertController עם כותרת והודעה

  3. 04:27

    הצגת ההודעה עם פעולת present

  4. 05:40

    בלוק Completion שנקרא אחרי ההצגה

  5. 06:48

    הוספת כפתור לדיאלוג עם UIAlertAction

  6. 08:00

    בלוק Handler לתגובה בלחיצה

תמלול ההרצאה: עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:30

    נעצור פה דיאלוגס ככה נושא מספיק רחב אנחנו כמובן פותחים את זה בתיקייה שלנו של הקורס ובואו נתחיל בצורה הפשוטה ביותר קודם כל כל view controller שלנו אנחנו הרבה פעמים נרצה לעטוף אותו בnavigation אז אני הולך ל-view controller ועוטף אותו בnavigation controller זה תמיד טוב זה תמיד

  3. 00:50

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

  4. 01:22

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

  5. 01:52

    עצמו ולא סתם טייפ של אני ואם ככה בואו נקרא לפעולה show alert אוקיי עכשיו אני אסדר לעצמנו קצת מקום פה ואני אסגור את האסיסטנט אדיטור אנחנו רוצים לממש את הפעולה כדי להציג את האלרט הפשוט ביותר אנחנו אנחנו רוצים ליצור מופע למעשה של alert controller בואו נראה אז let controller שווה

  6. 02:24

    ui alert controller חדש עכשיו כשאנחנו באים לייצר ui alert controller חדש אנחנו נתקלים פה בכל מיני אופציות כמו קודר וניבנעים אבל גם על שני הדברים אנחנו נדבר אני מבטיח על שתי אובייקטיב אבל אנחנו נלך כמובן באופציה הנעימה והנוחה של ה-title וה-message וה-prepared style כי זאת דרך ליצור alerts הוא רוצה לדעת מה הטייטל אז בוא

  7. 02:55

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

  8. 03:31

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

  9. 04:06

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

  10. 04:35

    ה-view-controller עושה את זה על ידי הפעולה present view-controller. present מקבל את view-controller שצריך להציג אותו, שזה ה-controller שעכשיו יצא אותי.

  11. 04:46

    ולגבי התשובה, אם אנחנו רוצים את זה באנימציה אז בהחלט. עכשיו, לגבי ה-completion יש לנו פה closure או בלוק.

  12. 04:55

    בעצם הבלוק הזה מייצג פונקציה. תסתכלו, אתם צריכים להסתכל על זה בצורה הבאה. יש לנו פה פעולה שלא מקבלת פרמטרים, כמו פונקציה שבמקום לכתוב את המילה fun פשוט לא כותבים ולא נותנים לה שם אז זו פעולה שלא מקבלת פרמטרים ולא מחזירה ערך הרי void הוא ה-return time

  13. 05:14

    אנחנו רואים שזה אופציונל במילים אחרות אפשר היה ככה למחוק מזה למחוק את זה וזה גם היה מסתדר נפלא אנחנו לא צריכים להפעיל קוד ב-completion בכלל האמת במקרה הזה אז אופציה אחת זה לא להעביר פה כלום אופציה אחרת סתם בשביל שניחשף קצת לקלוז'רים ולעובדה שהם פה זה לעשות פה דאבל

  14. 05:36

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

  15. 05:52

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

  16. 06:06

    זה יהיה טיפונת מעצבן, בואו נבדוק איך זה נראה, לוחץ, דיאלוגס, הופה, דיאלוג was presented זה הקוד שלי של ה-completion handler.

  17. 06:17

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

  18. 06:31

    אוקיי, אז לרשותכם עומד ה-completion block, במידה ואתם מעוניינים להגיב לדבר הזה. הבעיה פה מתחילה בזה שאין לי כפתור ולמעשה הדיאלוג שלנו לא ניתן לשחרור אפילו שהוא מאוד יפה, אתם יכולים להודות.

  19. 06:48

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

  20. 07:09

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

  21. 07:33

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

  22. 08:09

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

  23. 08:19

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

  24. 08:42

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

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

ההרצאה הקודמת: עבודה עם UICollectionViewContoller

ההרצאה הבאה: עבודה עם UIAlertController הצגת alert ב-Xcode - חלק 2

הרצאות קשורות מקורסים אחרים

  • Switch to JS Alert
  • Alert Dialog
  • עבודה עם VI - חלק 1
  • Billing Budget Alert

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

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