
הטקסט המלא של הדקות הראשונות בהרצאה «UITextField And String Unicode scalrs» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים אנחנו רוצים להמשיך לשחק עם פקדים מוכרים ב-IOS וללמוד דברים על הדרך בפרויקטים מתגלגלים היום אנחנו ננסה לייצר מחשבון אהבה עכשיו בואו נראה מה זה מחשבון אהבה מחשבון אהבה הוא בסך הכל אפליקציה די דומה לאורקל באיזושהי צורה בכך שיש לנו פה אילו שתי שמות וכשאנחנו לוחצים על הכפתור של קלקילייט הוא
מחשב את מידת ההתאמה בין המיועדים למשל אנחנו יכולים לבדוק עד כמה בוא נאמר משה אוהב את דפנה ואנחנו נלחץ פה על חישוב ומסתבר שמשה לא כל כך מחבב את דפנה חברים וחברות אז לא כדאי להם להתחתן בוא נראה איך אנחנו רוצים לעשות את הדבר הזה בסוויפט באמולטור שלנו אנחנו נרצה לעצב את זה בצורה קצת יותר חיננית מאשר האתר הזה שהוא מאוד מאוד מצליח מרביץ פה פרסומות בלי
די אז אנחנו נרצה לעשות את זה באפליקציה מה דעתכם יש לנו פה טקסט פילד עבור השם הראשון אנחנו יכולים לשים לייבל עם איזשהו לייב או תמונה ולייבל עבור השם השני כשלוחצים על הכפתור אנחנו נחשב את מידת ההתאמה בסדר נניח אם מישהו יבדוק פה עד כמה משה אוהבת
דפנה למשל ויחשב את מידת ההתאמה אז הוא יגלה שמשה מאוד מאוד אוהבת דפנה אצלנו באפליקציה אוקיי בואו נראה מה קורה, הופ עם סימן קריאה לא כל כך כי דפנה הצעקנית פחות בסדר אז בואו תנסו אתם לעצב פה את האפליקציה וניפגש בעוד מספר דקות אחרי שתסיימו ואנחנו נציג כמובן פתרון אז נתראה אני שמח שחזרתם בואו נלך לאקסקוד
ונתחיל לעבוד פה על פתרון באקסקוד אני נייצר פרויקט חדש לשיעור אז פייל ניו פרויקט סינגל וי אפליקיישן עדיין אנחנו נקרא לפרויקט שלנו לא אחר מאשר love-calculator ונבחר בכל הדיפרונס הרגילים בואו נתקדם אני בספרייה שלי כמובן אצור אותו עכשיו מבחינת עיצוב מה שאני הגעתי אליו זה היה פשוט טקסט פילד לייבל טקסט פילד
לייבל וכאן יש פה כפתור אז אני הולך ל-object library ואני אעשה בדיוק את מה שאמרתי אז יש לי טקסט פילד אני סתם זורק אותו כרגע לייבל אני אניח אותו פה מתחת, עוד טקסט פילד ועוד לייבל.
אז זאת מידת ההתאמה, כן, זה יהיה פה. ויש לנו גם כפתור, שהכפתור הוא יהיה במרכז. אוקיי, אני אזרוק אותו פה באמצע. בוא נתחיל לעבוד. הפקד הראשון, הטקסט פילד הזה, אנחנו ניתן לו את היוצאים הסטנדרטיים של 32 מכל הכיוונים.
הלייבל צריך להיות מתחתיו, בוא נסדר קצת לשטח. בוא נאמר גם כן במרחק של 32, אנחנו נרצה שהלייבל הטקסט שלו יהיה במרכז ואתם יודעים כבר איך לעשות את זה אני הולך לאטריביוטס וממרכז עכשיו בוא נזיז את אלה קצת עכשיו הטקסט וילד השני
נשים אותו פה מתחת ושוב פעם נעשה 32 לכל התוכנית יפה אז זה השם הראשון הלב השם השני עכשיו מידת ההתאמה בוא נשים נניח כאן אוקיי בצד ימין ולמטה סליחה אני אוסיף פה שתי אילוצים נניח 32 32 מימין ומלמטה והכפתור כפי שאמרנו קודם במרכז אז אני הולך לאליימנט קונסטרנט ואני לוחץ פה כדי להוסיף גם אילוץ רווקי וגם אנכי יפה די דומה למה
שרציתי בוא נתחיל בלייבל איך אנחנו משנים פה את הטקסט ללב במקום הטקסט הזה מסתבר שאם אנחנו רוחצים קונטרול קומנד ורווח פתח לי באקסקוד אוסף נחמד של אמוג'יס וסמיילים וכן הלאה וכאן אנחנו יכולים לחפש לב ומכאן לקחתי את הלב שראיתם קודם באפיון
אז אני אנסה לשים את הלב פה בטקסט על ידי לחיצה כפולה נניח אוקיי ואני אסגור את החלון הזה כי אני כבר לא כל כך צריך אותו יותר זה מה שיצא אני גם ארצה כמובן להגדיל את הפונט כדי שזה ייראה יותר יפה אבל אני אגדיר את הפונט בצורה דומה בשלושת הדברים האלה ביחד גם בטקסט פילדים וגם בלייבל
רגע בוא נתחיל באלה בשניהם נעשה פשוט פונט יותר גדול או קצת גדול מדי נלך על 36 וגם בדבר הזה בלייבל נלך על 36 עכשיו בשם אני רוצה כמובן placeholder שם ראשון אתם רוצים ליישר לימין כאילו שזה בעברית שם שני אשר לימי מידת ההתאמה אז בואו נרשום את זה
פה מידת אמה והכפתור שלנו חשב יפה אז זה הייצוג בעצם של האפליקציה שלנו כמו שאתם רואים זה מאוד מאוד דומה כמובן שפה זה נראה יותר יפה בגלל שזה פשוט באייפון X אבל זה בדיוק הייצוג שעשיתי קודם אחד לאחד יפה עכשיו בואו נתקדם רגע לגבי התכנות מה אתם אומרים אני חושב שכבר צברתם מספיק ניסיון
ואתם יודעים את הפתרון פתרון יהיה לייצר אאוטלטים ואקשנים נכון בוא נייצר אאוטלטים לארבעת הפקדים הללו ואקשן עבור הכפתור ואחר כך נראה אם אנחנו יכולים לעשות את זה בדרכים נוספות כרגע כל הפרופרטיס שלי זה כל הפקדים כמעט נכון אז בוא נייצר את זה כאן איך עשינו את זה פתחנו את החישוקיים נכון זוכרים
יש לי את הסטורי בורד ואז אני בא לוחץ על המצב הזה האסיסטנט אדיטור שפותח לי את זה אני כמובן אלך טקסט פיד לראשון אגרו אאוטלט אני אקרא לזה name 1 אנחנו נלך ללייבל את הלייבל אני לא כל כך צריך אני אלך אז לשם השני ואני אגרור אני אקרא לזה name 2 אני אלך למידת ההתאמה זה יהיה הרזלט לייבל שלי אני אקרא לו רזלט לייבל אם כן ולגבי כפתור הקלקיולייט שלנו
אנחנו רוצים ממנו שיעשה לנו אקשן שיודיע לנו מתי לחצו על הכפתור יפה עכשיו בוא נקרא לזה פשוט calculate אלה הדברים הטייפ של הכפתור רוצים שהוא יהיה ua-bottom ולא סתם לקבל כל אובייקט רק עבור כפתורים הפעולה הזאת תספיק ובעצם די סגרתי פה את העניין בסדר הוצאתי אוטלטים לכל הדברים שמעניינים אותי
עכשיו אני רק צריך למצוא איזשהו אלגוריתם מעניין לחשב את המידת התאמה בין בני הזוג המיועדים אז בואו נצא לדרך אני הולך לview controller שלי ואנחנו נתחיל פה לעבוד טיפה כשאנחנו רוצים לחשב אז דבר ראשון שסביר להניח שאנחנו נעשה אנחנו ניקח את השם הראשון ואת השם השני ואם הם לא קיימים אני לא מחשב כלום אז אני אעשה דבר כזה אני אעשה
guard כדי לוודא ש-name 1 יש לו טקסט וגם name 2 יש לו גם טקסט אלס צא החוצה לא נעבוד בשבילכם יותר בסדר זה אחד כעת בואו נוציא את הטקסטים של השמות כסטרינג אז אני עכשיו יכול לומר let text1 שזה השם הראשון שווה ל-name1.txt ואנחנו מקבלים פה אופצ'ונל ואני יודע בוודאות שיש שם טקסט הרגע בדקתי ועל כן אנחנו נעשה את זה כ-explicitly-unrop אותו דבר עם הטקסט פילד השני
אנחנו פשוט ניקח את הטקסט מהטקסט פילד name2.txt ואנחנו יודעים בוודאות שיש שם טקסט ועל כן אנחנו explicitly-unrop לאופצ'ונל בסדר עכשיו דיברנו על הדברים האלה, אתם מוזמנים כמובן להתייעץ בסרטונים הקודמים כדי להיזכר.
הנה יש לי את שתי השמות, שתי השמות של המיועדים. עכשיו, איך אנחנו נעשה את החישוב, ואיזה אלגוריתם אתם מכירים שיכול להמיר טקסטים למספרים או לחישובים?
אחד הדרכים לעשות את זה תהיה להשתמש בידע מאוד מאוד חשוב שאתם צריכים להכיר, ולכל אות יש בעצם מקום בטבלת יוניקורד בסדר אז אם אתם מחפשים רגע בגוגל בוא נחפש וזה באמת באמת חשוב כי בני אדם למדו איך לייצג כל דבר בעזרת מספרים וטבלת יוניקורד היא ככה אחד הדברים שמאפשרים לייצג אותיות כמספר או אותיות כמספרים אז בוא נסתכל לדוגמה נניח איזושהי אות מסוימת
מקבלת קוד בסדר והקוד הזה הוא פשוט מספר רץ ואנחנו יכולים לראות שיש לכל מיני ציורים דרך אגב מספרים. יפה? אני גם חושב.
עכשיו יש פה את החטיבה העברית כמובן יש פה המון המון דברים ביוניקוד המון מספרים ואנחנו ככה נוכל לקחת כל עוד כל תו למעשה ולחשב איזשהו מספר ממנה ומפה נוכל לצאת לאילו אלגוריתמים לגבי חישוב בהתחשב באותיות של השמות כמו בגימטריה למעשה נכון בגימטריה כל עוד בעברית מקבלת ערך מספרי יפה אז
בואו נעשה לעצמנו איזושהי פונקציה כזאת פאנקשן שבוא נגיד שהיא תחזיר לי את הסכום של יוניקוד בסדר אנחנו נראה איך עושים את זה כמובן הפעולה הזאת תקבל סטרינג בוא נאמר לא אכפת לי איך קוראים לו אז אני אגיד לא אכפת לי והיא מקבלת סטרינג שאותו אנחנו רוצים לבדוק הפעולה הזאת תצטרך להחזיר בסופו של דבר מספר עוד מעט נעשה פה return type
אולי אפילו עכשיו בוא נעשה ככה ב-value או רזלט שווה לאפס ובוא נחזיר את הרזלט. אוקיי, אז בעצם אני מחזיר ערך, מחזיר מספר, השאלה מה האלגוריתם.
האלגוריתם שלנו אומר את הדבר הבא, אנחנו נלמד כרגע שלכל סטרינג בסוויף יש לו את ה-unicode scaleouts שלו, כלומר יש לנו בעצם מבנה נתונים שמייצג קולקשן של כל האותיות שלו כבודדות, ועל הדבר הזה אנחנו נרצה לעשות for each, אוקיי? אז בואו נראה איך נעשה את זה.
בואו נאמר עבור כל char