{"id":122,"date":"2017-04-01T21:37:44","date_gmt":"2017-04-01T21:37:44","guid":{"rendered":"http:\/\/redquark.com\/wp\/?p=122"},"modified":"2017-04-02T02:43:01","modified_gmt":"2017-04-02T02:43:01","slug":"uikit-fundamentals-outlets-and-actions","status":"publish","type":"post","link":"https:\/\/redquark.com\/wp\/?p=122","title":{"rendered":"UIKit Fundamentals: Outlets and Actions"},"content":{"rendered":"<p>There are many good things about this first lesson, &#8220;Outlets and Actions&#8221;, in the &#8220;UIKit Fundamentals&#8221; course. Among them:<\/p>\n<ul>\n<li>(Almost) Comprehensive use of Interface Builder for connecting outlets and actions<\/li>\n<li>Debugging Storyboard connection issues<\/li>\n<\/ul>\n<p>I say &#8220;almost comprehensive&#8221; because they left out the easiest and most intuitive way to connect objects to outlets and actions. That way is by control-dragging from the object in the storyboard to the outlet or action in the Assistant editor. The other methods of connecting that they show in the videos are really only useful if you are restricted to a single standard-width display instead of a widescreen display or multiple displays.<\/p>\n<p>Unfortunately, there are also some issues with the lesson. The biggest one is that the second debugging issue recap refers to a problem that just is not there in the actual sample project. Fortunately, the quiz does reflect the proper answer.<\/p>\n<p>Another big issue is due to the changes in Swift between when the video was made and now (Swift 3.1). The button property &#8220;.on&#8221; was renamed to &#8220;.isOn&#8221; between versions. Unfortunately, &#8220;.isOn&#8221; is listed as a potential answer for a quiz question. Although &#8220;.isOn&#8221; is (now) the correct answer, you won&#8217;t get the quiz correct unless you select &#8220;.on&#8221;.<\/p>\n<p>Quibbles include the frequent use of &#8220;self&#8221; where &#8220;self&#8221; is not needed. I would also prefer that the changeColorComponent() function be called in viewDidLoad() so that the colorView properly reflects the state of the buttons at startup.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are many good things about this first lesson, &#8220;Outlets and Actions&#8221;, in the &#8220;UIKit Fundamentals&#8221; course. Among them: (Almost) Comprehensive use of Interface Builder for connecting outlets and actions Debugging Storyboard connection issues I say &#8220;almost comprehensive&#8221; because they left out the easiest and most intuitive way to connect objects to outlets and actions. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-122","post","type-post","status-publish","format-standard","hentry","category-ios-developer-nanodegree"],"_links":{"self":[{"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=122"}],"version-history":[{"count":1,"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/122\/revisions"}],"predecessor-version":[{"id":123,"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/122\/revisions\/123"}],"wp:attachment":[{"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redquark.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}