{"id":40212,"date":"2025-01-21T20:54:13","date_gmt":"2025-01-21T20:54:13","guid":{"rendered":"https:\/\/peraltafinancing.com\/apple-2\/uikit-apprentice-kodeco\/"},"modified":"2025-01-21T20:54:13","modified_gmt":"2025-01-21T20:54:13","slug":"uikit-apprentice-kodeco","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=40212","title":{"rendered":"UIKit Apprentice | Kodeco"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<div class=\"tile bullet-list\">\n<p>This book is for anyone completely new to Swift and iOS development \u2014 or for those that<br \/>\njust need a little brushing-up!<\/p>\n<\/p><\/div>\n<div class=\"tile bullet-list\">\n<ul>\n<li>Working with Xcode<\/li>\n<li>Coding in Swift<\/li>\n<li>Building user interfaces<\/li>\n<li>Modelling and persisting data<\/li>\n<li>GPS and image data<\/li>\n<li>Accessing remote APIs<\/li>\n<li>iPad development<\/li>\n<li>Publishing to the App Store<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<div>\n<div class=\"book-description\">\n<div data-controller=\"modal\">\n  <span>For Complete Beginners!<\/p>\n<p>If you\u2019re completely new to Swift and iOS development (or need a brush-up), this is the series for you.<br \/>\nThe UIKit Apprentice is a series of epic-length tutorials for beginners where you\u2019ll learn how to build four complete apps from scratch.<br \/>\nEach new app will be a&#8230;<\/p>\n<p><\/span><br \/>\n  <a class=\"modal-more\" data-action=\"modal#show:prevent\">more<\/a><\/p>\n<div class=\"modal hidden\" data-modal-target=\"modal\">\n<div class=\"modal-wrapper\">\n      <button class=\"btn-icon\" data-action=\"modal#close\"><br \/>\n        <svg><use href=\"https:\/\/www.kodeco.com\/assets\/murakami\/sprites-0c04bb02027991d50487dd4c02a6031e4bde3d52f551a821dad9647d670410f8.svg#cross-close\"\/><\/svg><br \/>\n      <\/button><\/p>\n<div class=\"modal-description-only\">\n<div class=\"written-content\">\n<h2>For Complete Beginners!<\/h2>\n<p>If you\u2019re completely new to Swift and iOS development (or need a brush-up), this is the series for you.<br \/>\nThe UIKit Apprentice is a series of epic-length tutorials for beginners where you\u2019ll learn how to build four complete apps from scratch.<br \/>\nEach new app will be a little more advanced than the one before, and together they cover everything you need to know to make your own apps. By the end of the series you\u2019ll be experienced enough to turn your ideas into real apps that you can sell on the App Store.<br \/>\nThese tutorials have easy to follow step-by-step instructions, and consist of more than 1,100 pages and 500 illustrations! You also get full source code, image files, and other resources you can re-use for your own projects.<br \/>\nIf you\u2019re new to iOS and Swift, or to programming in general, learning how to write an app can seem incredibly overwhelming.<br \/>\nThat\u2019s why you need a guide that:<\/p>\n<ul>\n<li>Shows you how to write an app step-by-step<\/li>\n<li>With tons of illustrations and screenshots to make everything clear<\/li>\n<li>In a fun and easygoing manner!<br \/>\nWe\u2019ll start at the very beginning. The first tutorial assumes absolutely zero programming knowledge but still shows you how to build an entire game from scratch.<br \/>\nThe UIKit Apprentice series doesn\u2019t cover every single feature of iOS \u2013 it just focuses on the absolutely essential ones that you need to know.<br \/>\nInstead of just covering a list of features, the UIKit Apprentice series does something much more important: it explains how all the different building blocks fit together and what is involved in building real apps.<br \/>\nYou\u2019re not going to create quick example programs that demonstrate how to accomplish a single feature. Instead, you\u2019ll develop complete, fully-formed apps that are good enough to submit to the App Store!<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<div class=\"child-content-list-description\">\n<p>This section tells you a few things you need to know before you get started, such as what you\u2019ll need for hardware and software, where to find the project files for this book and more.<\/p>\n<\/p><\/div>\n<div class=\"child-content-list-description\">\n<p>This section introduces you to the first of the four apps you\u2019ll build over the course of this book \u2014 <em>Bull\u2019s Eye<\/em>.<\/p>\n<p>As you progress through building the Bull\u2019s Eye app, the section will teach you how to think like a programmer and how to plan your programming tasks. In addition, you\u2019ll also learn how to use Xcode, Interface Builder, and even the basics of coding for iOS.<\/p>\n<p>While some of the concepts in this section might seem a bit basic, please do not skip this section if you are new to iOS development \u2013 you will learn some fundamentals which act as the building blocks for what you learn later.<\/p>\n<\/p><\/div>\n<div class=\"accordion-content child-content-list\">\n<details data-track-progress-content-id=\"46333463\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Welcome to The UIKit Apprentice! In this book, you&#8217;re about to deep dive into the latest and greatest Swift and iOS best practices. You will build four iOS projects using Swift and UIKit. Good luck!\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333464\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  In this chapter, you will start building the initial screen for the Bull&#8217;s Eye game.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333465\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Congratulations, you have a UIButton on the screen! It&#8217;s time to start adding the UISlider which will be fundamental to the game.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333466\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  In this chapter you will deal with random numbers, starting a new round of the game, and calculating the points scored.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333467\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  It&#8217;s time to calculate and display the score and the number of rounds played in this chapter.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333468\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Add some polish to the game so that it actually looks like a game. Also, allow the user to re-start the game so that two people can play the game.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333469\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Let&#8217;s spruce up the game UI with some fancy artwork and make your game stand out from the pack. Also, let&#8217;s add an About screen with information about the game.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333470\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Phew! You have successfully created Bull&#8217;s Eye. In the final chapter of this section you will learn about supporting different device sizes and add some beautiful animations.\n                <\/p>\n<\/details><\/div>\n<div class=\"child-content-list-description\">\n<p>This section builds upon what you learnt in the previous section by introducing you to your second app. <em>Checklists<\/em> takes you from a single-screen app to a multi-screen app where you learn the concepts of navigation flow, displaying data lists, and the idea of modeling and persisting your data.<\/p>\n<p>If you want to build any sort of list-based iOS app, this section is a good starting point for learning the basics. Of course, even if you aren\u2019t building a list-based app, this section has some basic concepts such as handling the navigation flow from one screen to another (and back again) that would be very useful to an apprentice iOS developer.<\/p>\n<\/p><\/div>\n<div class=\"accordion-content child-content-list\">\n<details data-track-progress-content-id=\"46333471\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Add a table view to show a list of to-do items and in the process learn about how to code navigation controllers and table views for iOS.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333472\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  In this chapter, we&#8217;ll set up a data model to represent our checklist items and then use the data model to display our to-do items.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333473\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  All about navigation controllers \u2014 how to add them, configure them, and use them. Also learn how add a new screen to your to-do app and how to add the ability to delete to-do items.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333474\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Create the Add Item screen for your app and in the process, learn how to create custom table view cells, get user input, and add polish to data entry screens.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333475\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  You&#8217;ll learn about delegates and protocols, and how to use them to complete the add items functionality for your Checklists app.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333476\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Now that you can add items, learn how to edit added items. Also, refactor your code to optimize it.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333477\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Checklists works great but we can&#8217;t persist our data \u2014 our to-do items are reset each time the app is re-launched. Let&#8217;s learn how to persist our data between app sessions.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333478\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  From one list to many &#8211; Checklists manages a single list of items at the moment. That&#8217;s not very useful. Let&#8217;s add the ability to have multiple lists of items.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333479\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Let&#8217;s improve our data model so that we can have different to-do items for each checklist. We&#8217;ll also implement a new saving strategy in the process.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333480\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn how to save application settings and other useful information between app sessions. Also, how to guard against possible crashes and to improve the first-run experience of the app so that your app looks more polished and user-friendly.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333481\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  With the basic functionality for your Checklists app done, it&#8217;s time to add some polish and functionality that makes your app stand out from the herd.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333482\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn how to add local notifications to Checklists so that you can be notified when a to-do item is due and how to manage notifications through the lifecycle of a to-do item.\n                <\/p>\n<\/details><\/div>\n<div class=\"child-content-list-description\">\n<p>With this third section and the <em>MyLocations<\/em> app, you get into Swift programming in earnest.<\/p>\n<p>Sure, you\u2019ve already coded apps in the previous two sections, but this section starts off with a good review of all the Swift coding principles you\u2019ve learned so far and adds to it by introducing some new concepts too.<\/p>\n<p>In addition to that, you learn about using GPS coordinates, displaying data on maps, and using the iOS image picker to take photos using your camera or to pick existing images from your photo album. There\u2019s a lot of valuable general information on Swift development as well as specific information about building location-aware apps.<\/p>\n<p>This section also introduces you to building apps for Dark mode \u2013 a subject that you\u2019ll do a deep-dive into in the next section.<\/p>\n<\/p><\/div>\n<div class=\"accordion-content child-content-list\">\n<details data-track-progress-content-id=\"46333483\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  You have made great progress! You&#8217;ve learnt the basics of Swift programming and created two applications from scratch. Now let&#8217;s add some more Swift theory to strengthen the foundations we&#8217;ve built while creting those two apps.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333484\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  This is the first chapter in this section which teaches you how to create a &#8220;location album&#8221; app. Take the first steps for creating this new app by learning how to use the Core Location framework to get your location and to display it.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333485\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  You were able to access location data and display it in the last chapter. In this chapter, you will improve upon that code by handling GPS errors and improving the GPS accuracy. You&#8217;ll also set up the app to handle different screen sizes.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333486\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Time for some more theory! You&#8217;ll learn all about objects, classes, inheritance, and a few other object oriented principles from Swift that you need to be familiar with.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333487\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Time to get back to coding again. You&#8217;ll learn how to build the Tag Location screen and how to set up another data entry screen for an iOS app.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333488\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  The MyLocations app functionality is slowly taking shape now. So it&#8217;s time to polish things up a bit by improving the user experience and adding some UI flourishes.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333489\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn all about how to save your locations on the device using Core Data, the object persistence framework for iOS.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333490\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Let&#8217;s show the data that you&#8217;re now able to save via Core Data as a list of locations. Learn about TableView sections, NSFetchedResults and deleting tagged locations.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333491\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Let&#8217;s get visual! Show your tagged location on a map view using MapKit so that you can see where in the world each location is.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333492\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn how to use the built-in image picker in iOS to add images from either the camera or the photo album to your tagged locations.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333493\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  It&#8217;s time to give MyLocations a complete visual makeover! You&#8217;ll change the styling for the app, add buttons for action items, add sounds, icons, and launch images.\n                <\/p>\n<\/details><\/div>\n<div class=\"child-content-list-description\">\n<p>The final section of the book covers building an app which supports both Light and Dark appearances from scratch  via the <em>StoreSearch<\/em> app. <em>StoreSearch<\/em> shows you how to have separate custom assets and colors for each type of iOS appearance.<\/p>\n<p>But that\u2019s not all! The app also shows you how to do custom screens both for specific orientations (landscape vs. portrait) as well as for specific platforms (iPhone vs. iPad). This section covers networking, working with remote API endpoints to fetch data needed by your app, and how to parse the fetched data, how to work with Stack Views, and how to add iPad support to your app.<\/p>\n<p>If that wasn\u2019t enough, this section also takes you through the full application life cycle \u2013 from developing the code, testing it, and all the way to submitting to Apple. So don\u2019t skip this section thinking that you know all about iOS development after the last few sections!<\/p>\n<\/p><\/div>\n<div class=\"accordion-content child-content-list\">\n<details data-track-progress-content-id=\"46333494\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Most iOS job listings say that you need to have worked with a REST API. Well, this chapter starts you on a new app which will teach you all about how to fetch data from a remote server and get you on the path to REST API mastery.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333495\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn how to display your data in a table view using custom table cells. Also change the appearnace of the app and do a bit of debugging.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333496\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn the ins and outs of making network requests to remote servers. Then, when you get a response to your request, learn how to parse the JSON response.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333497\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn why synchronous networking is bad and how to make things better by switching to asynchronous networking.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333498\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn about the powerful networking features provided by URLSession to make network requests that can be cancelled and how to download the image assets for your search results.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333499\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn how to add a detail pop-up to show more information about selected search results.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333500\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  The detail pop-up works well but it can do with some more spit and polish to make it really shine. Learn all about adding dynamic type support, gradient backgrounds and more animations.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333501\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  You&#8217;ve only dealt with a single orientation up to now. But your apps need to support both portrait and landscape orientations. Learn how to add landscape support to StoreSearch and by adding a custom interface.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333502\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  You&#8217;ve made great progress with StoreSearch, but now it&#8217;s time to refactor the code to smooth out a few of the rough edges. Knowing how to improve your code by refactoring it is an important skill to learn.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333503\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  StoreSearch works great when the display language is English. But what if you wanted to support other languages? Learn all about internationalization and how to update your app to suppport multiple languages.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333504\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  Learn how to optimize StoreSearch for iPad and to add iPad specific UI features such as split view conrollers and menu popovers.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333505\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<p>\n                  After all that work, your app is finally ready. You just have one more gauntlet to run \u2013 the App Store submission process. Learn about the Apple Developer program, beta testing via TestFlight and how to submit your app for Apple approval.\n                <\/p>\n<\/details>\n<details data-track-progress-content-id=\"46333506\" data-completed-class=\"child-content--completed\">\n<summary>\n<\/summary>\n<\/details><\/div>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>This book is for anyone completely new to Swift and iOS development \u2014 or for those that just need a little brushing-up! Working with Xcode Coding in Swift Building user interfaces Modelling and persisting data GPS and image data Accessing remote APIs iPad development Publishing to the App Store For Complete Beginners! If you\u2019re completely [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":40213,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11768],"tags":[2755,17258,25489],"dealstore":[],"offerexpiration":[],"class_list":["post-40212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apple-2","tag-apprentice","tag-kodeco","tag-uikit"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>UIKit Apprentice | Kodeco - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=40212\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UIKit Apprentice | Kodeco - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"This book is for anyone completely new to Swift and iOS development \u2014 or for those that just need a little brushing-up! Working with Xcode Coding in Swift Building user interfaces Modelling and persisting data GPS and image data Accessing remote APIs iPad development Publishing to the App Store For Complete Beginners! If you\u2019re completely [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=40212\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-21T20:54:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=40212#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=40212\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"UIKit Apprentice | Kodeco\",\"datePublished\":\"2025-01-21T20:54:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=40212\"},\"wordCount\":2230,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=40212#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png\",\"keywords\":[\"APPRENTICE\",\"Kodeco\",\"UIKit\"],\"articleSection\":[\"Apple\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=40212#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=40212\",\"url\":\"https:\/\/fivemor.com\/?p=40212\",\"name\":\"UIKit Apprentice | Kodeco - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=40212#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=40212#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png\",\"datePublished\":\"2025-01-21T20:54:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=40212#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=40212\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=40212#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=40212#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"UIKit Apprentice | Kodeco\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UIKit Apprentice | Kodeco - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=40212","og_locale":"en_US","og_type":"article","og_title":"UIKit Apprentice | Kodeco - Som2ny Network","og_description":"This book is for anyone completely new to Swift and iOS development \u2014 or for those that just need a little brushing-up! Working with Xcode Coding in Swift Building user interfaces Modelling and persisting data GPS and image data Accessing remote APIs iPad development Publishing to the App Store For Complete Beginners! If you\u2019re completely [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=40212","og_site_name":"Som2ny Network","article_published_time":"2025-01-21T20:54:13+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=40212#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=40212"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"UIKit Apprentice | Kodeco","datePublished":"2025-01-21T20:54:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=40212"},"wordCount":2230,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=40212#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png","keywords":["APPRENTICE","Kodeco","UIKit"],"articleSection":["Apple"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=40212#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=40212","url":"https:\/\/fivemor.com\/?p=40212","name":"UIKit Apprentice | Kodeco - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=40212#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=40212#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png","datePublished":"2025-01-21T20:54:13+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=40212#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=40212"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=40212#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/original.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=40212#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"UIKit Apprentice | Kodeco"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/40212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=40212"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/40212\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/40213"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=40212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40212"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=40212"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=40212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}