PracticU

חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 2

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 2
מילון מושגים:
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
Xcode - סביבת הפיתוח של אפל לכתיבת אפליקציות ל-iOS ול-macOS.
שרת אינטרנט - תוכנה או מחשב שמקבלים בקשות HTTP ומגישים דפי אינטרנט ומשאבים ללקוחות.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
מודל - רכיב שמייצג את הנתונים ואת הלוגיקה העסקית באפליקציה. גם ייצוג מופשט של מערכת או תהליך.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
ביט - יחידת המידע הקטנה ביותר במחשב, שערכה 0 או 1. שמונה ביטים מרכיבים בייט.

חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 2
מי שבונה אפליקציה שצורכת מידע משרתי אינטרנט צריך לדעת לקרוא JSON ולהפוך אותו לאובייקטי Swift. השיעור מתחיל בקובץ JSON מקומי ומגיע עד המרה ידנית של צבע בין מחרוזת hex ל-UIColor.
ה-API וה-JSON
API הוא תוכנה על שרת אינטרנט שנותנת מידע לאפליקציה, והוא לא קשור לשפת Swift, ולכן עובדים בפורמט JSON הבינלאומי. הדוגמה הייתה Google Places API, שמחזיר JSON שנראה כמו דיקשנרי, עם אובייקטים, מערכים וזוגות key-value.
השלבים העיקריים
1. קובץ לדוגמה: באתר שמייצר נתוני דוגמה בוחרים שדות: שם של בעל חיים, שם מדעי (עם קו תחתון) וצבע בפורמט hex, בלי ערכי null, ומורידים כ-JSON. אם ערכי null מתקבלים, כל השדות צריכים להיות אופציונליים.
2. הוספה לפרויקט: גוררים את הקובץ לפרויקט ומסמנים העתקה, יצירת groups והוספה ל-target כדי שיהיה זמין בזמן ריצה.
3. מודל: struct בשם Animal שמממש Codable, עם שדות מסוג String.
4. קריאת הקובץ: מקבלים את הנתיב מ-Bundle.main.url(forResource:withExtension:), קוראים אותו כ-Data וממירים לאובייקטים עם JSONDecoder().decode([Animal].self, from:). המערך הוא של חיות כי ה-JSON מכיל כמה חיות.
5. שמות: בלי CodingKeys, השם ב-struct חייב להיות זהה בדיוק לשם ב-JSON. enum בשם CodingKeys עם raw value מסוג String מאפשר לקרוא לשדה scientificName בסגנון Swift ולמפות אותו לשם עם קו תחתון.
6. צבע כ-UIColor: UIColor אינו Codable, ולכן מממשים בעצמך init(from:) ו-encode(to:). את שאר השדות שולפים מה-container עם decode.
7. מחרוזת hex ל-UIColor: extension עם convenience init. מנקים רווחים ושורות חדשות, מורידים #, בודקים שיש שש ספרות (אחרת קוראים ל-self.init()), וממירים ל-Int בבסיס 16.
8. פירוק ל-RGB: מפרקים את המספר לשלושה בתים עם bit mask ו-right shift (16 ביט לאדום, 8 לירוק, ללא הזזה לכחול) ומחלקים ב-255 כדי לקבל ערך בין 0 ל-1.
9. מ-UIColor למחרוזת: property מחושב. getRed מקבל מצביעים למשתנים מסוג CGFloat, והם מתמלאים בערכים. מחברים את הבתים עם OR ו-left shift ומפרמטים לשש ספרות hex באותיות גדולות.
שימו לב
- אם המבנה שלכם בדיוק כמו ה-JSON, Codable עובד אוטומטית, והמימוש הידני נדרש רק כשיש טיפוס שאינו Codable או מבנה שונה.
- המרצה לא מצפה לכתיבה של הקוד הזה מהזיכרון, אבל כן להבין את העיקרון, למשל כדי להוסיף ערוץ alpha.
אחרי השיעור אפשר לקרוא קובץ JSON מקומי לאובייקטים, לשנות שמות ולהמיר צבע hex ל-UIColor ובחזרה.
השיעור הבא בקורס: דוגמאות לעבודה עם JSON - חלק 1

פרקי ההרצאה: חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 2

  1. 00:00

    מה הם APIs ולמה צריך JSON

  2. 00:59

    מבנה JSON בדוגמת Google Places

  3. 03:11

    יצירת JSON לדוגמה באתר Mockaroo

  4. 05:42

    הוספת קובץ ה-JSON לפרויקט Xcode

  5. 06:42

    struct של Animal ו-Data Source

  6. 08:51

    קריאת הקובץ מה-Bundle כמחרוזת

  7. 10:39

    המרה לאובייקטים עם Codable

  8. 13:40

    הצורך בהתאמת שמות השדות

תמלול ההרצאה: חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 2

הטקסט המלא של הדקות הראשונות בהרצאה «חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:25

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

  3. 00:39

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

  4. 01:04

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

  5. 01:19

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

  6. 01:43

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

  7. 01:52

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

  8. 02:11

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

  9. 02:32

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

  10. 02:43

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

  11. 03:02

    לפני שנלך רחוק ונעבוד עם אתרים מרוחקים ו-APIs וכן הלאה, אנחנו רוצים להתחיל בהתחלה, בסדר?

  12. 03:12

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

  13. 03:35

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

  14. 03:50

    אז אני אתחיל בשורה הראשונה, הם מציעים לי לקבל ID, אני לא כל כך רוצה ID כרגע. בוא נבחר לעצמנו, נגיד שאנחנו רוצים לעשות על בעלי חיים, אז בוא נעשה נגיד name של החייט, כאן אנחנו בוחרים את הטיפוס של זה ויש להם פה כזה כל מיני פייק דאטה אז animal common name נשמע מצוין עכשיו בוא ניקח species או בוא נראה scientific name בוא ניקח אז אני

  15. 04:17

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

  16. 04:42

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

  17. 05:08

    אז זה יהיה הג'ייסון שלי אני אקבל את השם של בעל חיים, את השם המדעי של הבעל חיים, צבע, אנחנו מוצאים את זה ב-JSON ומה שהאתר הזה נותן לי זה פשוט תראו, הנה יש לי פה preview וכאן אני מקבל את הדאטה וזה קובץ JSON, אנחנו תכף נוריד אותו.

  18. 05:25

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

  19. 05:36

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

  20. 05:45

    אנחנו פשוט נלך לתיקייה שאליה הורדנו ונגרור את זה ל-Xcode את הקובץ. אז בואו נפתח גם את Xcode ונייצר לנו פרויקט חדש. אז create new Xcode project single view application.

  21. 05:57

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

  22. 06:21

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

  23. 06:47

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

  24. 07:14

    הכתיבה שלנו אנחנו נייצר פשוט structure struct animal ואנחנו פשוט נקרא לכל השדות בדיוק כמו שהם רשומים ב-json אז יהיה לי let name מטיפוס של סטרינג let scientific underscore name מטיפוס של של סטרינג ו-let color מטיפוס של סטרינג בשלב הזה אנחנו נשאיר את כל השמות כמו שהם בדיוק בדיוק ב-JSON ועכשיו

  25. 07:48

    אנחנו יכולים לייצר לעצמנו איזשהו data source כדי לקרוא את ה-JSON ואחר כך ננסה להמיר אותה לאובייקטים האלה אז בוא ניצר עוד קלאס אחד כמו שאמרתי זה יהיה swift file כאן אנחנו נרצה לקרוא לזה animal data source אז כן מקור המידע שלנו הוא לא כל כך מעניין הוא מגיע מקובץ מקומי אבל כמו שאמרתי לאט לאט נעבוד על זה עכשיו פה בואו נעשה משהו פשוט יחסית בסדר כי אנחנו רק

  26. 08:15

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

  27. 08:42

    לאובייקטים סוויפט אובייקטס אוקיי כי כרגע זה נמצא ב-JSON פורמט טוב בוא נתחיל בהתחלה בלי לקרוא את הקובץ אנחנו צריכים את הנתיב, הנתיב נמצא בתוך ה-bundle של האפליקציה לכן ה-url יהיה bundle.main.url for resource כאן קראנו לקובץ שלנו mock_data והסיומת שלו היא json אז זה הנתיב לקובץ נכון עכשיו אנחנו נבדוק שהוא

  28. 09:11

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

  29. 09:36

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

  30. 10:03

    האותיות של UTF-8 טוב אז זה אם אנחנו רוצים סטרינג דרך אגב ואז להדפיס אותו לא בעיה נכון ברינט sdr יפה אז זה בעצם נותן לי לקרוא את הקובץ כ-json לקרוא אותו כסטרינג בוא נקרא למתודה הזאת רגע read demo שכתבנו זה עתה ונריץ אותה ואז נוכל לראות אם אנחנו יכולים לראות את הקריאה של ה-json את הברינט הזה שזה עתה עשינו

  31. 10:29

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

  32. 10:44

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

  33. 11:07

    בהמשך אנחנו נעשה Deep Dive לתוך הדבר הזה ונלמד עליו יותר כדי לכתוב אותו בעצמנו במידת הצורך בפרויקטים יותר מתקדמים, אבל כרגע אנחנו רוצים לראות את ה-Basics, אז ה-Basics זה פשוט, אתם עושים Strug וכל הדברים הם באותו שם בדיוק כמו ה-JSON ואנחנו נותנים ל-Swift לטפל בהמרה

  34. 11:26

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

  35. 11:40

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

  36. 11:55

    אנחנו נעשה guard let אלס ריטרן כי אנחנו לא רוצים שהתוכנית שלנו תקרוס בעקבות נילים או דברים כאלה. ונשארנו עם העניין של אוקיי, יש לך דאטה בינארי, ואיך עכשיו אתה הופך אותו לאובייקטים שלך.

  37. 12:10

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

  38. 12:22

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

  39. 12:32

    אוקיי. אז אני צריך להגיד לו שזה מערך של בעלי חיים, והוא ימיר לי את זה. אנחנו רואים Decoder, אז זה גם נתודה שזורקת את ה-Strike.

  40. 12:41

    Decoder.Decode הטיפוס זה מערך של בעלי חיים, אז Animal.Ray.Self ש-Self נותן לנו את הטייק, אתם רואים? זה נותן לי את הטיפוס, והדאטה זה מה שקראנו מהקובץ, נכון?

  41. 12:56

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

  42. 13:12

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

  43. 13:23

    כאן ב-JSON ה-scientific name כתוב בצורה הזאת. אנחנו צריכים להעתיק אותו בדיוק בדיוק ולרשום כאן בדיוק כמו שזה מופיע ב-JSON, אחרת זה לא יעבוד לנו.

  44. 13:34

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

  45. 13:51

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

  46. 14:18

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

  47. 14:42

    אחר שנקרא encodeable פארט אחד שעושה דה סריאליזציה וסריאליזציה טוב בואו ניכנס

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

ההרצאה הקודמת: חיבור ל-API בשרת בפורמט JSON ב-Xcode-Swift - חלק 1

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

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

  • JSON
  • מה זה JSON
  • חיבור של theHarvester עם Shodan בעזרת API KEY
  • תיקון תקלות בשרת

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

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