====== Programmation iOS par bloc ====== La programmation de blocs iOS est comparable aux fonctions anonymes telles qu'on les trouve en Javascript, ou encore aux lambdas en Python. À ce sujet, si vous programmez en Python, un [[http://sametmax.com/fonctions-anonymes-en-python-ou-lambda/|excellent article]] à lire indispensablement (oui, Môssieur, ce mot est laid mais français). ===== Déclaration ===== La déclaration n'est pas obligatoire. Le bloc peut être écrit inline et ne nécessite dans ce cas aucune déclaration préalable. // Un peu de code d'exemple Si la fonction doit être déclarée, la syntaxe est relativement simple. L'utilisation du symbole ^ permet de matérialiser un bloc. Le code suivant déclare un bloc nommé "unBlock", qui prend en paramètre un int*, un int et un flot et renvoie un NSString. NSString (^unBlock)(const int*, int, float); ===== Implémentation ===== ==== Avec déclaration ==== * L'opérateur ^ est utilisé pour déclarer une variable de type bloc et pour introduire le code correspondant. int (^multiplieParTrois)(int) = ^(int num) { return num * 3; }; ==== Sans déclaration ==== Le cas le plus fréquent. printf("%d", multiplieParTrois(3)); // Affichera "9"