2016-04-18 8 views
0

Ich bin ein Android-Entwickler, Derzeit lernte ich iOS-Entwicklung. Und verwirrt über die target-action Muster. wenn ich In android will einen Rückruf erhalten, wenn eine Schaltfläche geklickt, kann ich tun, wie folgt:Unterschied zwischen Android Event-Listener und iOS Target-Action?

btn.setOnClickListener(myOnClickListener); 

Es ist wie die Delegat-Muster in iOS, aber warum Apple die Ziel-Aktionsmuster für die gestureReconginer wählen Event Handle?

Sorry für meine schlechte Englisch-Fähigkeit, Danke euch im Voraus.

Antwort

0

Mit target-action weisen Sie einem Ereignis (= action) eine Methode einer Instanz (= target) zu, während delegation eine Instanz, die ein dediziertes Protokoll (entspricht der Java-Schnittstelle) implementiert, dann einer Ereignisquelle zuweist ruft die (möglicherweise mehrere) Methoden dieser protokollimplementierenden Instanz auf.

Ich bin mir nicht sicher jemand kann antworten warum sie taten es auf diese Weise, außer einem Software-Designer/Architekt von Apple. Target-Action hat jedoch das Potenzial, auf die Closure-Syntax übertragbar zu sein.

Verwandte Themen