Comment utiliser les Boulons de Cadre[Facebook+Parse]
Juste Maintenant, je vois cette annonce de Facebook sur Boulons de Cadre pour IOS.
Je peux voir cela comme concept principal:
La première composante de Boulons est de “tâches”, qui font de l'organisation du complexe asynchrone code plus facile à gérer
Mais je n'ai pas l'obtenir. Je suis confus au sujet de Bolts framework
. Comment l'utiliser(whether its related to web service or to JSON response parsing
).
Ils ont fourni des exemples avec ParseObject
avec parse SDK, mais je ne la connaissent pas et qu'ils n'ont pas de fournir un exemple de projet avec Xcode.
Facebook fournis explication à ce sujet. Mais je ne peux pas comprendre comment l'intégrer à mon projet.
Le Code fourni est très confuse:
[[object saveAsync:obj] continueWithBlock:^id(BFTask *task) {
if (task.isCancelled) {
//the save was cancelled.
} else if (task.error) {
//the save failed.
} else {
//the object was saved successfully.
SaveResult *saveResult = task.result;
}
return nil;
}];
On peut télécharger des boulons-cadre ici. Quelqu'un peut-il expliquer cela plus en détail?
Mise à jour: Ici j'ai reçu une réponse nouvelle à la question de boulons.
Exemples:
Supposons que vous souhaitez charger toutes les images de AssertLibrary et de redimensionner toutes les images de taille standard lors du chargement, de sorte qu'il sera frappé si faire avec le thread principal. Dans ce lieu, Si vous allez avec l'opération asynchrone signifie, Comment utiliser BFTask avec elle? Un Autre Ex. En une fois, vous essayez d'appeler à 10 webservice en parallèle avec l'opération asynchrone, comment pourriez-vous utiliser le PGCD avec BFTask?
OriginalL'auteur Mani | 2014-02-03
Vous devez vous connecter pour publier un commentaire.
Boulons est grande. D'accord que la documentation est un peu floue à droite maintenant. Voici un exemple rapide:
Je l'ai trouvé particulièrement utile pour le groupe des achèvements (semi pseudo-code):
C'est un propre façon de faire que vous pourriez faire avec la répartition des groupes. Il ya beaucoup plus à elle, bien que, en termes de séquençage de vos tâches à la fois en série et en parallèle, etc. etc.
Espère que vous aide à obtenir commencé.
Boulons est destiné à envelopper/encapsuler une tâche asynchrone de toute nature. Tout ce que vous devez faire est de message de l'achèvement de la tâche de la source lors de votre opération est terminée. L'idée est d'envelopper l'un de vos opérations de cette façon.
Oui, je sais que l'homme. Mais la tâche ci-dessus, où pourriez-vous trouver tâche asynchrone? Vous avez manipulé avec BFTask après l'achèvement de la tâche asynchrone au lieu de pendant async tâche? SUIS-je le droit? Je veux savoir, comment utiliser BFTask avec tâche Asynchrone, en particulier lorsque de verrouiller et de déverrouiller les ressources avec BFTask?
De toute façon je vais vous donner +1 pour votre approche? Si vous ne comprenez pas mon point de vue, donner des commentaires. Ou de donner plus de recherche sur ce et de m'aider. Merci 🙂
Je pense que vous êtes mal comprendre le but de le cadre. Les boulons ne fait rien pour vous aider à écrire les opérations asynchrones. Il est destiné à encapsuler et de la séquence des opérations à l'aide d'une interface commune
OriginalL'auteur Jonathan Crooke
Voici un exemple complet d'une application qui pourrait soutenir les multiples acteurs de la modification des données lors du traitement de mise en réseau des demandes et de l'interaction de l'utilisateur.
Je me suis fixé une ligne directrice pour moi d'utiliser le BFExecutor lié à la série dispatch_queue_t quand toucher quoi que ce soit relatifs au service, pour la sécurité des threads.
Pointant du doigt d'autres meilleures pratiques serait utile, merci!
Les résultats sont comme prévu. L'initialisation est essayé avec la touche = 1, mais est différée jusqu'à ce qu'il cesse de changer. Le service est ensuite initialisé sur sa file d'attente avec la clé = 5, puis ré-initialisé avec la clé = 4.
Résultats:
OriginalL'auteur Shawn
Consulter les fichiers de test (j'.e TaskTests.m) pour des exemples. Les exemples sur Github étaient spécifiques à Analyser.
Généralement à la recherche sur les tests écrits pour un logiciel serait suffisant pour apprendre à utiliser le code.
OriginalL'auteur naz