Quelle est la différence entre appeler les methods avec les types suivants
1.
[self methodName];
et
2.
[self performSelector:@selector(methodName)]; // no afterDelay is used
Est-ce comme si performSelector utilise un thread différent pour fonctionner?
Dans la plupart des cas, ils sont équivalents.
Selon la documentation , le but de la variante performSelector:
est de pouvoir appeler des methods définies dynamicment et non présentes lors de la compilation. C'est tout. Pour appeler une méthode présente à la compilation, il n'y a pas de différence entre les deux.