Estoy realmente comenzando el desarrollo de IOS pero tengo algunos años de desarrollo de ASP.net a través de C#. Para ser sincero, nunca antes había tenido la necesidad real de entender los delegados/eventos, etc., sé que los estoy usando cuando programo web.forms, pero gran parte de la funcionalidad está a cargo del framework, detrás de la escena .Delegados en iOS: se requieren algunas aclaraciones
Así que ahora que estoy desarrollando en IOS me veo obligado a tratar de entender cómo funcionan (supongo que la teoría de delegados/eventos es la misma en todos los idiomas, tal vez estoy equivocado). De todos modos, la siguiente línea de código en IOS:
if ([self.delegate respondsToSelector:@selector(startImporting:)])
{
[self.delegate startImporting:self];
}
Estoy en lo cierto al pensar que, en pseudo código, que significa algo en la línea de:
Si el método/clase de llamar a este método tiene una método llamado 'startImporting' y luego llama al método 'startImporting' dentro de la clase llamante.
Espero que sea claro. Si ese es el caso, entonces sería esencialmente lo mismo que tener un método estático en C# que se podría llamar con algo como:
myImportClass.startImporting();
Es de suponer que no, o eso es la forma en que se llevaría a cabo. Entonces, ¿me estoy perdiendo el objetivo de los delegados, sus beneficios, etc.? He leído una y otra vez y, si bien tiene sentido, nunca hace clic, nunca (en todos los formularios web) realmente he visto el beneficio de usarlos.
Esto se vuelve cada vez más importante ya que estoy usando expresiones lambda en .net y están estrechamente relacionadas con los delegados en C#, así que mientras puedo comenzar a usarlas, prefiero saber por qué y qué beneficio tienen los delegados en realidad son
Aquí http://stackoverflow.com/questions/30662032/ios-callback-function -desde la biblioteca puede encontrar detalles de implementación para los delegados. –