Existe-t-il un moyen d'appeler un bloc avec un paramètre primitif après un délai, comme en utilisant performSelector:withObject:afterDelay:mais avec un argument comme int/ double/ float?
Que signifie exactement le __blockmot - clé dans Objective-C? Je sais que cela vous permet de modifier des variables dans des blocs, mais j'aimerais savoir ... Que dit-il exactement au compilateur? Cela fait-il autre chose? Si c'est tout ce qu'il fait, pourquoi est-il nécessaire en premier lieu? Est-ce dans les …
Je reçois une erreur La variable n'est pas attribuable (spécificateur de type __block manquant) sur la ligne aPerson = participant;. Comment puis-je m'assurer que le bloc peut accéder à la aPersonvariable et que la aPersonvariable peut être retournée? Person *aPerson = nil; [participants enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { …
La syntaxe des blocs dans l'objectif C (et en fait C, je suppose) est notoirement incongrue. Passer des blocs comme arguments est différent de déclarer des blocs comme ivars, ce qui est différent des typedefblocs ing. Existe-t-il une liste complète de syntaxe de déclaration de bloc que je pourrais garder …
J'ai une application qui fonctionne et je travaille à la convertir en ARC dans Xcode 4.2. L'un des avertissements de pré-vérification implique une capture selfforte dans un bloc conduisant à un cycle de rétention. J'ai créé un exemple de code simple pour illustrer le problème. Je crois comprendre ce que …
Lors de l'utilisation de GCD, nous voulons attendre que deux blocs asynchrones soient exécutés et terminés avant de passer aux étapes d'exécution suivantes. Quelle est la meilleure façon de le faire? Nous avons essayé ce qui suit, mais cela ne semble pas fonctionner: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ { // block1 }); …
J'ai bien peur que cette question soit assez basique, mais je pense qu'elle est pertinente pour beaucoup de programmeurs Objective-C qui se retrouvent dans des blocages. Ce que j'ai entendu, c'est que puisque les blocs capturent les variables locales référencées en leur sein en tant que constcopies, l'utilisation selfdans un …
Outre les différences évidentes: À utiliser enumerateObjectsUsingBlocklorsque vous avez besoin à la fois de l'index et de l'objet Ne pas utiliser enumerateObjectsUsingBlocklorsque vous devez modifier des variables locales (je me suis trompé à ce sujet, voir la réponse de bbum) Est-ce enumerateObjectsUsingBlockgénéralement considéré comme meilleur ou pire quand for (id …
Est-il possible de spécifier un paramètre de bloc de méthode dans Objective-C sans utiliser de typedef? Cela doit être, comme les pointeurs de fonction, mais je ne peux pas trouver la syntaxe gagnante sans utiliser un typedef intermédiaire: typedef BOOL (^PredicateBlock_t)(int); - (void) myMethodTakingPredicate:(PredicateBlock_t)predicate seuls les compilations ci-dessus, tous échouent: …
Comment puis-je passer un Blockà un Function/ Method? J'ai essayé - (void)someFunc:(__Block)someBlocken vain. c'est à dire. Quel est le type pour un Block?
En Objective-C, vous pouvez définir l'entrée et la sortie d'un bloc, stocker un de ces blocs qui est passé à une méthode, puis utiliser ce bloc plus tard: // in .h typedef void (^APLCalibrationProgressHandler)(float percentComplete); typedef void (^APLCalibrationCompletionHandler)(NSInteger measuredPower, NSError *error); // in .m @property (strong) APLCalibrationProgressHandler progressHandler; @property (strong) …
J'ai une méthode qui accepte un bloc et un bloc de complétion. Le premier bloc doit s'exécuter en arrière-plan, tandis que le bloc d'achèvement doit s'exécuter dans la file d'attente où la méthode a été appelée. Pour ce dernier, j'ai toujours utilisé dispatch_get_current_queue(), mais il semble qu'il soit obsolète dans …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.