{"id":2766,"date":"2012-03-11T01:25:16","date_gmt":"2012-03-11T00:25:16","guid":{"rendered":"http:\/\/www.iprog.it\/blog\/?p=2766"},"modified":"2012-04-30T18:30:16","modified_gmt":"2012-04-30T17:30:16","slug":"basi-di-programmazione-obj-c-i-metodi","status":"publish","type":"post","link":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/","title":{"rendered":"Basi di programmazione Obj-c i Metodi"},"content":{"rendered":"<p><a href=\"http:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png\" rel=\"lightbox[2766]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2330\" title=\"xcode_framework\" src=\"http:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png\" alt=\"\" width=\"256\" height=\"256\" srcset=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png 256w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework-150x150.png 150w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework-90x90.png 90w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework-48x48.png 48w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/a><\/p>\n<p>ciao a tutti ho notato che molti di voi hanno dei grossi problemi ad assimilare la sintassi del linguaggio obj-c quindi ho pensato di creare questo tutorial per cercare di farvi comprendere ed assimilare il pi\u00f9 possibile la potenza di questo linguaggio .<\/p>\n<p>Prima di iniziare questa lezione o addirittura prima di lanciarvi a capofitto nella programmazione obj-c vi consiglio vivamente di iniziare in primis \u00a0a studiare il linguaggio di programmazione c , vi ricordo che per imparare a programmare c&#8217;\u00e8 bisogno di tanto studio e tanta sete di sapere .<\/p>\n<p>Quindi dopo questa piccola premessa iniziamo subito con la creazione di un nuovo progetto di tipo command line tool e come tipo scegliamo core fondation<\/p>\n<p><a href=\"http:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/03\/12.png\" rel=\"lightbox[2766]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2768\" title=\"1\" src=\"http:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/03\/12-300x204.png\" alt=\"\" width=\"300\" height=\"204\" srcset=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/03\/12-300x204.png 300w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/03\/12-1024x697.png 1024w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/03\/12.png 1400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>ora creiamo subito una nuova classe (file\/new file\/objective-c class) e diamogli il nome di libreria.<\/p>\n<p>Nel file libreria.h dichiariamo 2 metodi :<\/p>\n<p>-(void)cane;<\/p>\n<p>-(int)areaDelTriangolo:(int)base:(int)altezza;<\/p>\n<p>Per chi conosce il c i metodi li possiamo vedere semplicemente come delle funzione .<\/p>\n<p>-(int)areaDelTriangolo : \u00a0(int)base : (int)altezza;<\/p>\n<div><\/div>\n<p>-(int)areaDelTriangolo= int \u00e8 il tipo di dato che ritorner\u00e0 il nostro metodo e\u00a0areaDelTriangolo \u00e8 semplicemente il nome che diamo al nostro metodo<\/p>\n<p>:(int)base =int \u00e8 il tipo di dato che richiede il nostro parametro , base \u00e8 il nome del parametro.<\/p>\n<p>A questo punto non ci resta che implementare questi due semplici metodi , nel file libreria.m scriviamo questo codice:<\/p>\n<p>[code lang=&#8221;obj-c&#8221;]<\/p>\n<p>-(void)cane{<\/p>\n<p>NSLog(@&amp;quot;il verso del cane \u00e8 bau&amp;quot;);<\/p>\n<p>}<\/p>\n<p>-(int)areaDelTriangolo:(int)base:(int)altezza{<\/p>\n<p>int area;<\/p>\n<p>area=(base *altezza)\/2;<\/p>\n<p>return area;<\/p>\n<p>}<\/p>\n<p>&amp;amp;nbsp;<\/p>\n<p>[\/code]<\/p>\n<p>Se volessimo fare nuovamente referimento al linguaggio c potremmo dire \u00a0che void cane \u00e8 una procedura in quanto essa non restituir\u00e0 nessun tipo di dato mentre \u00a0-(int)areaDelTriangolo: la potremmo interpretare come una funzione in quanto restituir\u00e0 un valore di tipo intero.<\/p>\n<p>come potete notare la prima procedura non fa niente di eclatante in quanto una volta richiamata non far\u00e0 altro che mostrare in output una banalissima frase mentre il secondo metodo passati i due parametri base e altezza ci calcoler\u00e0 l&#8217;area del triangolo .<\/p>\n<p>Ora vi mostrer\u00f2 come utilizzare la classe appena implementata , nel file main.m \u00a0scrivete il seguente codice:<\/p>\n<p>[code lang=&#8221;obj-c&#8221;]<\/p>\n<p>#import &amp;lt;Foundation\/Foundation.h&amp;gt;<\/p>\n<p>#import &amp;quot;libreria.h&amp;quot;\/\/importo la libreria creata<\/p>\n<p>int main (int argc, const char * argv[])<\/p>\n<p>{<\/p>\n<p>\/\/dichiaro alloco e inizializzo un nuovo dato di tipo libreria<\/p>\n<p>libreria *pippo=[[libreria alloc]init];<\/p>\n<p>\/\/tramite le quadre\u00a0 posso richiamre e utilizzare i metodi creati nella libreria<\/p>\n<p>[pippo cane];<\/p>\n<p>NSLog(@&amp;quot;L&#8217;area del triangolo \u00e8 :%d&amp;quot;, [pippo areaDelTriangolo:5 :6]);<\/p>\n<p>}<\/p>\n<p>[\/code]<\/p>\n<p>Se questo tutorial vi \u00e8 piaciuto lasciate un commento in modo che sia io che gli altri autori del blog siano invogliati a scriverne dei nuovi<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ciao a tutti ho notato che molti di voi hanno dei grossi problemi ad assimilare la sintassi del linguaggio obj-c quindi ho pensato di creare questo tutorial per cercare di farvi comprendere ed assimilare il pi\u00f9 possibile la potenza di questo linguaggio . Prima di iniziare questa lezione o addirittura&#8230; <a href=\"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":2330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[951,1051,50,74,1147,1148,38],"class_list":["post-2766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-objective-c-mac","tag-basi","tag-ciao","tag-metodi","tag-pi","tag-problemi","tag-sintassi","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Basi di programmazione Obj-c i Metodi  - iProg<\/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:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Basi di programmazione Obj-c i Metodi  - iProg\" \/>\n<meta name=\"twitter:description\" content=\"ciao a tutti ho notato che molti di voi hanno dei grossi problemi ad assimilare la sintassi del linguaggio obj-c quindi ho pensato di creare questo tutorial per cercare di farvi comprendere ed assimilare il pi\u00f9 possibile la potenza di questo linguaggio . Prima di iniziare questa lezione o addirittura... Read more &raquo;\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png\" \/>\n<meta name=\"twitter:creator\" content=\"@flexkid1\" \/>\n<meta name=\"twitter:site\" content=\"@iprogblog\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diego\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/\"},\"author\":{\"name\":\"Diego\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/048c8acb70f8a33f1498675ab9db41a3\"},\"headline\":\"Basi di programmazione Obj-c i Metodi\",\"datePublished\":\"2012-03-11T00:25:16+00:00\",\"dateModified\":\"2012-04-30T17:30:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/\"},\"wordCount\":464,\"commentCount\":2,\"image\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2012\\\/01\\\/xcode_framework.png\",\"keywords\":[\"basi\",\"Ciao\",\"metodi\",\"pi\",\"problemi\",\"sintassi\",\"tutorial\"],\"articleSection\":[\"Objective-C Mac\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/\",\"name\":\"Basi di programmazione Obj-c i Metodi - iProg\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2012\\\/01\\\/xcode_framework.png\",\"datePublished\":\"2012-03-11T00:25:16+00:00\",\"dateModified\":\"2012-04-30T17:30:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/048c8acb70f8a33f1498675ab9db41a3\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/objective-c-mac\\\/basi-di-programmazione-obj-c-i-metodi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2012\\\/01\\\/xcode_framework.png\",\"contentUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2012\\\/01\\\/xcode_framework.png\",\"width\":\"256\",\"height\":\"256\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/\",\"name\":\"iProg\",\"description\":\"perch\u00e9 reinventare la ruota?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/048c8acb70f8a33f1498675ab9db41a3\",\"name\":\"Diego\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g\",\"caption\":\"Diego\"},\"description\":\"Google+\",\"sameAs\":[\"http:\\\/\\\/it.linkedin.com\\\/in\\\/diegocaridei\\\/\",\"https:\\\/\\\/x.com\\\/flexkid1\",\"http:\\\/\\\/www.youtube.com\\\/channel\\\/UCjQ2z1ygV9tv55QAc2q3JHA\"],\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/author\\\/flexkid\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Basi di programmazione Obj-c i Metodi  - iProg","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:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/","twitter_card":"summary_large_image","twitter_title":"Basi di programmazione Obj-c i Metodi  - iProg","twitter_description":"ciao a tutti ho notato che molti di voi hanno dei grossi problemi ad assimilare la sintassi del linguaggio obj-c quindi ho pensato di creare questo tutorial per cercare di farvi comprendere ed assimilare il pi\u00f9 possibile la potenza di questo linguaggio . Prima di iniziare questa lezione o addirittura... Read more &raquo;","twitter_image":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png","twitter_creator":"@flexkid1","twitter_site":"@iprogblog","twitter_misc":{"Scritto da":"Diego","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/#article","isPartOf":{"@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/"},"author":{"name":"Diego","@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/048c8acb70f8a33f1498675ab9db41a3"},"headline":"Basi di programmazione Obj-c i Metodi","datePublished":"2012-03-11T00:25:16+00:00","dateModified":"2012-04-30T17:30:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/"},"wordCount":464,"commentCount":2,"image":{"@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png","keywords":["basi","Ciao","metodi","pi","problemi","sintassi","tutorial"],"articleSection":["Objective-C Mac"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/","url":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/","name":"Basi di programmazione Obj-c i Metodi - iProg","isPartOf":{"@id":"https:\/\/www.iprog.it\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/#primaryimage"},"image":{"@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png","datePublished":"2012-03-11T00:25:16+00:00","dateModified":"2012-04-30T17:30:16+00:00","author":{"@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/048c8acb70f8a33f1498675ab9db41a3"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.iprog.it\/blog\/objective-c-mac\/basi-di-programmazione-obj-c-i-metodi\/#primaryimage","url":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png","contentUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2012\/01\/xcode_framework.png","width":"256","height":"256"},{"@type":"WebSite","@id":"https:\/\/www.iprog.it\/blog\/#website","url":"https:\/\/www.iprog.it\/blog\/","name":"iProg","description":"perch\u00e9 reinventare la ruota?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iprog.it\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/048c8acb70f8a33f1498675ab9db41a3","name":"Diego","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g","caption":"Diego"},"description":"Google+","sameAs":["http:\/\/it.linkedin.com\/in\/diegocaridei\/","https:\/\/x.com\/flexkid1","http:\/\/www.youtube.com\/channel\/UCjQ2z1ygV9tv55QAc2q3JHA"],"url":"https:\/\/www.iprog.it\/blog\/author\/flexkid\/"}]}},"views":2673,"_links":{"self":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/2766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/comments?post=2766"}],"version-history":[{"count":0,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/2766\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/media?parent=2766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/categories?post=2766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/tags?post=2766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}