{"id":790,"date":"2009-11-13T16:39:30","date_gmt":"2009-11-13T15:39:30","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=790"},"modified":"2009-12-14T16:13:16","modified_gmt":"2009-12-14T15:13:16","slug":"introduzione-al-framework-uikit","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/introduzione-al-framework-uikit\/","title":{"rendered":"Introduzione al Framework UIKit"},"content":{"rendered":"<p>A partire da oggi, tra una lezione e un tutorial, inizieremo ad illustrare, uno ad uno, gli oggetti presenti nell&#8217;UIKit, descriveremo di cosa si tratta, parleremo di ci\u00f2 che la classe presa in considerazione ha da offrire e faremo degli esempi che rendano chiaro e immediato l&#8217;uso di questi componenti, preconfezionati dai programmatori Apple, a disposizione con l&#8217;ambiente di sviluppo SDK. Iniziamo con un&#8217;introduzione del framework UIKit al completo.<!--more--><\/p>\n<p>Il framework UIKit fornisce le classi necessarie per costruire e gestire l&#8217;interfaccia utente di un&#8217;applicazione per iPhone e iPod touch. Esso fornisce l&#8217;oggetto applicazione, la gestione degli eventi, finestre, viste e controlli appositamente progettati per l&#8217;interfaccia touch screen.<\/p>\n<p>Di seguito un&#8217;immagine che mostra la gerarchia delle classi di questo framework:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-802\" title=\"uikit\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/11\/uikit.jpg\" alt=\"uikit\" width=\"460\" height=\"536\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/11\/uikit.jpg 690w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/11\/uikit-257x300.jpg 257w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><br \/>\n<\/center><\/p>\n<p>Questo schema puo&#8217; sicuramente tornare utile nel caso in cui voleste conoscere la superclasse dell&#8217;oggetto che vi accingete ad utilizzare o semplicemente per avere una visione completa inerente l&#8217;ereditariet\u00e0 applicata a questo framework. Ad esempio, e immediato scoprire che un oggetto UIButton deriva direttamente dalla sua superclasse UIControl, che a sua volta eredita dalla classe UIView che deriva da UIResponder che infine ha come superclasse la classe radice (root class) da cui derivano tutti gli oggetti dell&#8217;UIKit, ovvero NSObject. Quindi come spiegato nelle lezioni sull&#8217;Objective-C teoriche, un oggetto di tipo UIButton contiene inconsapevolmente, grazie proprio all&#8217;ereditariet\u00e0 caratteristica della programmazione orientata agli oggetti, metodi e caratteristiche di tutte le classi della gerarchia appena citate.<\/p>\n<p>Per comodit\u00e0 posto la posizione del framework e dei file di interfaccia di queste classi:<\/p>\n<p>Framework: <em>\/System\/Library\/Frameworks\/UIKit.framework<\/em><\/p>\n<p>Header file directories: <em>\/System\/Library\/Frameworks\/UIKit.framework\/Headers<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A partire da oggi, tra una lezione e un tutorial, inizieremo ad illustrare, uno ad uno, gli&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[42],"tags":[42,5,4,14,43,23],"class_list":["post-790","post","type-post","status-publish","format-standard","hentry","category-framework","tag-framework","tag-objective-c","tag-programmazione","tag-sdk","tag-uikit","tag-xcode"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=790"}],"version-history":[{"count":31,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/790\/revisions"}],"predecessor-version":[{"id":1313,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/790\/revisions\/1313"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}