
mood_preference), ו-Default Value נבחר מתוך ה-Values.About.plist (שכפול של הקובץ הקיים עם עריכה), ושמרו בו Group אחד עם Footer, ושם אפשר לכתוב טקסט ארוך כמו הסכם רישיון או תודות לספריות.UserDefaultsManager כסינגלטון (בנאי private ו-static let shared). הפעולה readValues משתמשת ב-string(forKey:) וב-integer(forKey:) עם ה-Identifier.register עם מילון של ערכי ברירת מחדל, ולמחוק את האפליקציה כדי לבדוק. נהוג לשים זאת בבנאי של האובייקט המשותף.הטקסט המלא של הדקות הראשונות בהרצאה «מסך הגדרות לאפליקציה ב-Xcode-Swift» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים, בפרויקט היום אנחנו רוצים לעשות מסך הגדרות לאפליקציה וגם את זה אנחנו עושים תוך שימוש ב-user defaults אז בואו נקפוץ ל-Xcode ונסתכל על הפרויקט שלנו אנחנו פשוט רוצים לייצר פרויקט חדש, אז Xcode Project חדש Single View Application ובואו נקרא לפרויקט
שלנו Settings Pandel תאמור ומיד נראה מה זה אומר בעצם, אז אנחנו מייצרים את הפרויקט וכאן בפנים אנחנו נרצה לייצר לעצמנו, זה פרויקט רגיל לגמרי הוא ריק ומה שאנחנו רוצים לעשות אנחנו רוצים לייצר פה קובץ חדש ניו פייל והקובץ הזה צריך להיות מטיפוס
של סטינגס בנדל אז בואו נמצא אותו פה באפשרויות הנה הוא כאן ואנחנו נעשה נקסט עכשיו אנחנו נקרא לקובץ הזה בדיוק באותו שם שהוא נקרא ונעשה אישור כמו שאתם יכולים לראות אז יש לנו פה את הסטינגס בנדל שהוא מאפשר לי הגדרות של סטינגס לאפליקציה והקובץ הזה מכיל בתוכו את הפיליסט הבא עכשיו פיליסט זה פורמט די ישן של אפל
אבל הוא עדיין נמצא בשימוש כמו שאתם יכולים לראות. ובתוך ה-P-List הזה, אז זה בעצם ה-Preference S שלנו לאפליקציה, ויש פה כרגע Preference Items, שזה בעצם מערך שבתוכו יש Dictionaries.
עכשיו, בתוך המערך הזה יש ארבעה אייטמים, והראשון הוא Group, השני הוא Text Field, השלישי הוא Toggle Switch, והאחרון הוא Slider. בואו נראה את זה בצורה ויזואלית, בבקשה.
אז אנחנו פשוט נריץ את הפרויקט, ניכנס לסימולטור, נסגור את האפליקציה שזה עתה יצרנו ונלך לסטינגס ונראה מה זה עשה בשבילנו אז אתם רואים יש לי פה את האפליקציה שעכשיו יצרנו ויש לנו פה את הגרופ שראינו קודם טקסט פילד זה זה שפה אנייבל זה הסוויץ' אוקיי true או false ויש
לנו פה גם סליידר אז כל הדברים האלה בעצם שמוגדרים לנו בקובץ p-list הם מיוצגים פה במסך סטינגס של האפליקציה עכשיו אנחנו נרצה לקסטם את כל זה ולשים סטינגס של עצמנו נכון?
אז בואו נתחיל אולי באייטם הראשון, אני אקפל את כל אלה בחזרה ונתחיל פה בגרופ. הגרופ הוא בעצם קבוצה והוא משמש פה לכותרת כמו שאתם יכולים לראות בסימולטור, אז זה הגרופ שאנחנו רואים.
עכשיו לגרופ יש את הטיפוס של גרופ ויש את הטייטל שזה הטקסט שרואים שם, אז בואו נגיד settings וזה מה שיהיה כתוב שם. עכשיו לגרופ אפשר להוסיף עוד שדה אחד שנקרא פוטר טקסט, בואו נלחץ פה על פלוס ונכתוב פה פוטר טקסט ובואו נרשום פה משהו בוא נגיד סאם פוטר טקסט עכשיו אני אריץ את זה ובואו
נסתכל על האפליקציה שוב פעם וזה מה שיש לי להגיד פה על גרופס נקפוץ בחזרה לסטינגס והנה פוטר טקסט וכאן כתוב אפ סטינגס אוקיי זה הטייטל למעשה של הגרופ ומתחת לזה יש לנו את הפוטר טקסט אז אם אתם רואים טקסטים למטה בסטינגס של אפליקציות אחרות זה הפוטר טקסט עכשיו יש פה טקסט פילד שמאפשר
לנו לקלוט נגיד טקסט יש פה יש פה סוויץ' שעוזר לנו לעשות און ואוף עכשיו אלה הטיפוסים האפשריים יש גרופ מולטי ואליו סליידר טקסט פילד טייטל מה שאנחנו נעשה שימוש כאילו הטליידר הוא די טריוויאלי וגם הטקסט פילד הוא די טריוויאלי נעשה בהם שימוש גם כן מה שמעניין פה זה המולטי ואליו הזה אז בואו ננסה לראות אותו בפעולה
אני אמחק רגע את הטאג אל סוויץ' לחצתי על delete ונמחק גם את הסליידר כי שוב פעם זה משהו שהוא די טריוויאלי לחלוטין ואין לי הרבה מה להוסיף לגביו ואנחנו נרצה להוסיף עוד אייטם אחד ל-preference items אז אני עומד על ה-preference items ולוחצת פלוס עכשיו בוא נלך פה על מולטי value ונראה איך
עובדים עם זה כי הוא פחות טריוויאלי מאחרים מולטי value אז הטיפוס הוא מולטי value ויש לי פה title, identifier ו-default value אבל אנחנו צריכים להוסיף לפה משהו כדי שזה יעבוד כמו שצריך אז אנחנו נרצה להוסיף לתוך זה מערך של values אז בוא נראה איך אנחנו עושים את זה כאן אנחנו נלחץ פלוס ובאפשרויות יש פה אפשרות של values והvalues הוא באמת הרי אז מצוין
עכשיו בתוך הרי של הvalues בוא נפתח אותו אנחנו נרצה לעשות פלוס ולהוסיף דברים בפנים אלה יהיה ה-choices שלנו למעשה אז ב-values בוא נגיד שיש לי מספר הטייפ יהיה מספר ובוא נגיד המספר הראשון שיהיה פה בוא נעשה אחד ונוסיף עוד מספרים נגיד שתיים ושלוש אז נעשה עוד אייטם אני אשים פה שתיים ואני אדאג שהטיפוס יהיה מספר ונעשה עוד אייטם
בתוך המערך ונכתוב פה שלוש וגם כן הטיפוס יהיה מספר קודם כל בואו נדאג שזה יהיה מספר שלא נשכח את זה ועכשיו יש פה עניין של סדר נכון זה לפני זה וכך הלאה אנחנו רוצים להפוך את הסדר דרך אחת לעשות את זה תהיה לפתוח את הכובד לשנות פה 1,2,3 ידנית זה גם אפשרי ודרך נוספת תהיה
לעשות קליק ימני על הקובץ ולהסתכל עליו בתצורת XML. אז אנחנו עושים קליק ימני open as source code ואז אנחנו יכולים, אתם יודעים, לעשות מה שאנחנו רוצים, למשל להזיז את האינטג'ר הזה פה למטה ואז זה יצא לפי הסדר שרצינו.
מה שיותר נוח לכם, זה לא הפורמט הכי נוח בעולם, אני חייב להודות. בואו נחזור להסתכל על הקובץ הזה בתור פרופרטי ליסט ועכשיו אנחנו נפתח את זה חזרה ונוכל לראות שבעצם מה שהלכנו ב-XML זה מה שאנחנו רואים גם כאן.
אז ה-values מסודרים עכשיו לפי הסדר. אוקיי, אז נגיד שיש לנו ערכים 1, 2, 3 במולטי-צ'וייס, בוחרים אופציה מספר 1, אופציה מספר 2, אופציה מספר 3.
אבל מה לגבי הכותרות וכן הלאה? אז אנחנו צריכים להוסיף פה עוד משהו בתוך המולטי-צ'וייס, בואו נעשה פה פלוס. אני אעמוד כאן ואני אוסיף פלוס. והדבר הבא זה מערך של טייטלס.
בתוך המערך של הטייטלס אנחנו כותבים את מה שהמשתמש יראה. אז בואו נעשה פלוס בפנים, כאן. והטייטל הראשון יהיה נגיד happy ובוא נעשה עוד אחד, בוא נעשה said והטייטל השלישי בוא נעשה משהו נוסף, אז אני לוחץ פה על פלוס ובוא נגיד me.
אז יש לנו שלוש אייטמים, עכשיו אנחנו, יש לנו לכל אייטם בעצם אייטם של happy הערך שלו הוא 1 בסדר? האייטם של me אז הערך שלו הוא 2, האייטם של said הערך שלו הוא 3, יש התאמה בין הטייטלס לבין ה-values.
איזה עוד פרמטרים יש לנו פה? יש לנו את ה-Title שזה מה שאנחנו מראים בעצם למשתמש, זה הכותרת וזה חובה. ה-Identifier זה כמעט חובה, ככה אנחנו נוכל לדעת מה היה הערך פה אחר כך, אז בוא נקרא לזה מוד פרפרנס.
והערך הדפולטי זה מתוך ה-Values, אז אם ב-Values כתוב 1, 2, 3, אז בוא נבחר את אחד הערכים, נגיד בוא ניקח את Happy שזה 1. יפה. אז בוא נעבור עוד הפעם, Type זה מולטי value, Title זה מערך כזה של כותרות שזה מה שהמשתמש רואה, Values זה הערך הסופי, זה יכול להיות גם סטרינגים וזה יכול להיות
אותו דבר כמו הטייטלס אבל צריך גם טייטלס וגם ואליוס. ה-identifier זה מה שאנחנו נוכל לשלוף אחר כך והכל. טייטלס זה חובה וזה מה שהמשתמש רואה בכותרת ודיפולט ואליוס זה הערך הברירת מחדל.
בואו נריץ את זה רגע ונראה אם אנחנו רואים את הגרופ שלנו בצורה טובה. אז אנחנו נלך לסטינגס ובסטינגס של האפליקציה אנחנו יכולים לראות פה את עמוד והוא יוצא happy ובוא נלחץ בוא נגיד וננסה לשנות את זה.
הדבר הזה לא עובד הכי טוב בסימולטור אבל בדקתי את זה אצלי בטלפון ממש עכשיו וזה עובד מצוין שם אז מוזמנים לבדוק את זה פשוט בטלפון אז הנה עכשיו זה גם נראה בסדר אז יופי אז בחרנו את עמוד פה אנחנו יכולים לבחור את ה-Name אז בואו נגיד תומר בואו נעבור על התכונות של הטקסט פילד כדי
שנראה איך הוא נראה בתכונות של הטקסט פילד יש לנו את הטיפוס יש לנו כותרת לטקסט פילד זה הטקסט שמוצג פשוט ליד הטקסט פילד עכשיו Identifier זה מה שאנחנו רוצים שמשתמש יראה אז נגיד אם אנחנו נכתוב פה name או name preference מה שאתם רוצים שם.
ערך default is אם אנחנו רוצים ערך ברירת מחדל. Textful is secure זה מיועד לסיסמאות. Keyboard type Alphabet מצוין בשביל שמות. Capitalization style זה אומר אם אנחנו רוצים להגדיל את האותיות הראשונות וכן הלאה אז אנחנו לא רוצים.
ו-auto-correction אם אנחנו רוצים שהוא יתקן לנו את הספיילינג זה לא מתאים בטקסט פילד של name. יפה, אז אלה כל הפרפרנסים שרצינו לראות פה, יש פה עוד אחד בעצם שהוא גם כן מיוחד ואנחנו לא רואים אותו, אז בואו אני אוסיף אותו גם כן, וככה נעבור על כל האפשרויות המעניינות.
אני מוסיף גרופ נוסף, ובגרופ הזה אנחנו נפתח אותו ונשנה פה את הטיפוס מגרופ ל- Child Pane. אתם רואים? אלה כל הטיפוסים האפשריים, יש טקסט פילד, טייטל, טאגל סוויץ', סליידר, מולטי וליו, גרופ ואת ה- Child Pane.
אז הראיתי לכם את כל הדברים הנחבאים והנסתרים. מקבל מאיתנו טייטל של מה אנחנו רוצים לכתוב אז בוא נגיד גרסה אפשר לכתוב 1.0 אוקיי אבל בצ'יילד פיינט צריך להוסיף עוד דבר אחד שזה שם הקובץ שאליו נעבור ברגע שילחצו על זה אז אם אנחנו נגיד נכתוב פה לא את הגרסה של האפליקציה אלא בוא נכתוב פה about us אנחנו נרצה לכתוב איזשהו מסך של about אז הפייל ניים הזה יביא
אותנו למסך הבא של הפרפרנסס שייקרא about עכשיו about זה בעצם שם של קובץ ואין לנו עוד קובץ אז בואו ניצור אותו אנחנו הולכים פה לערוץ p-list ואנחנו נבקש מהמחשב שלנו בקליק ימני להראות לנו את זה ב-Finder אז show in Finder אנחנו נשכפל את הקובץ p-list
הזה כי הוא כבר עם סיומת נכונה והכל אז copy paste ואנחנו נקרא לו בדיוק בשם שכתבנו פה about אז about.p-list עכשיו בואו נערוך את ה-p-list הזה של about אנחנו לא רוצים שהוא יהיה זהה לזה שיש עכשיו וב-about ב-preference specifiers אנחנו לא רוצים הרבה אייטמים נכון אז בואו נגיד נשאיר פה רק את אני אוריד את זה אני לא רוצה ריקורסיה בסדר אני אשאיר פה רק את אני אוריד גם את זה כאן
יש לנו את הגרופ הזה עם פוטר שזה נחמד אותו אני אשאיר ואני אוריד גם את הטקסט פיד אז השארתי פה רק אייטם אחד ופה בטקסט אתם יכולים לכתוב את הבאוטס של האפליקציה שלכם סיפור ארוך עם הרבה הרבה מילים או למשל אתם יכולים לתת אטריביושנס למי אתם חייבים תודה כל מיני ספריות שבהם השתמשתם וכן הלאה וכן הלאה וכן הלאה הרבה אפליקציות שמים פה טקסט די ארוך של
user license agreement למשל או ספריות שבהן