{"id":2502,"date":"2010-03-10T16:30:56","date_gmt":"2010-03-10T15:30:56","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=2502"},"modified":"2014-02-04T13:24:55","modified_gmt":"2014-02-04T12:24:55","slug":"tips006-esecuzione-automatica-di-un-metodo-dopo-un-tempo-prestabilito","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/tips006-esecuzione-automatica-di-un-metodo-dopo-un-tempo-prestabilito\/","title":{"rendered":"TIPS#006 &#8211; Esecuzione automatica di un metodo dopo un tempo prestabilito"},"content":{"rendered":"<p>Eccoci con un nuovo tips di programmazione iPhone veloce veloce. Volete avviare un metodo dopo un tempo prestabilito espresso in secondi? Allora <strong>performSelector<\/strong> pu\u00f2 fare al caso vostro. Vi anticipiamo che quello che andiamo a mostrarvi funziona egregiamente, anche se questo sistema, di fatto, non \u00e8 molto preciso. Non entriamo nei dettagli, vi basti sapere che se non vi interessa la precisione assoluta, allora potete affidarvi alle poche righe di codice mostrate pi\u00f9 avanti.<!--more--><\/p>\n<p>Ecco di cosa stiamo parlando:<\/p>\n<p><strong>performSelector:withObject:afterDelay:<\/strong><\/p>\n<pre lang=\"objc\" escaped=\"true\">\r\n- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay\r\nParameters\r\n<\/pre>\n<p>Nel dettaglio:<\/p>\n<p><strong>aSelector<\/strong><br \/>\nIdentifica il metodo da invocare. Questo dovrebbe avere un unico argomento di tipo id, o essere senza argomenti.<\/p>\n<p><strong>anArgument<\/strong><br \/>\nL&#8217;eventuale argomento da passare al metodo quando questo viene invocato. <em>nil<\/em> nel caso in cui il metodo non richieda l&#8217;argomento.<\/p>\n<p><strong>delay<\/strong><br \/>\nIl tempo minimo che deve passare prima che venga inviato il messaggio (di chiamata al metodo). Impostare il delay a 0 non avvier\u00e0 necessariamente il metodo immediatamente. Verr\u00e0 comunque avviato il prima possibile, con un margine minimo di errore.<\/p>\n<p>Eccovi un piccolo esempio:<\/p>\n<pre lang=\"objc\" escaped=\"true\">\r\n[self performSelector:@selector(mioMetodo) withObject:nil afterDelay:5];\r\n\r\n(void)mioMetodo{\r\n    \/\/ Codice del vostro metodo\r\n}\r\n<\/pre>\n<p>In questo esempio <em>mioMetodo<\/em> verr\u00e0 avviato dopo 5 secondi (o poco pi\u00f9).<\/p>\n<p>Potete vedere un esempio pratico di quanto descritto nel nostro <a href=\"http:\/\/www.devapp.it\/wordpress\/t025-creiamo-una-splash-screen-e-gestiamo-la-sua-durata-via-codice.html\" target=\"_blank\">Tutorial numero 25<\/a>, in cui gestiamo la durata di una Splash Screen con questo metodo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eccoci con un nuovo tips di programmazione iPhone veloce veloce. Volete avviare un metodo dopo un tempo&#8230;<\/p>\n","protected":false},"author":1,"featured_media":10898,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[105],"tags":[136,135,106],"class_list":["post-2502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tips-tricks","tag-afterdelay","tag-performselector","tag-tips"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/2502","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=2502"}],"version-history":[{"count":2,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/2502\/revisions"}],"predecessor-version":[{"id":2504,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/2502\/revisions\/2504"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/10898"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=2502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=2502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=2502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}