Bindings iOS
Bonsoir tout le monde,
Je suis inscrit actuellement, comme débutant complet en iOS, à un cours de développement d'apps sur ces machines. Fort d'un an ou deux de développement sur MacOS, je veux épater la galerie en faisant une démo sur le mécanisme des bindings, et je sens mon sang refluer: mon fidèle et surexploité onglet favori n'apparaà®t plus dans Xcode. Je bafouille un peu avant de comprendre pourquoi personne n'avait jamais entendu parler de ce truc génial...
Rentré chez moi, j'en suis encore tout étourdi... Apple m'a gavé tout ce temps avec ce mécanisme "magique", je me suis farci des heures de docs pour comprendre comment ça marchait, j'en étais venu à penser qu'effectivement, c'était génial, et paf, Apple décide de s'en passer sur la plate-forme iOS?
Y a-t-il une quelconque raison, technique ou autre, qui justifie cet abandon? N'est-il que temporaire? Les ingénieurs iOS n'auraient-ils pas lu la doc? Ont-ils décrété que ce n'était pas si génial que ça en avait l'air?
L'un d'entre vous pourrait-il me dire s'il existe une solution de rechange? Ou si on joue à émuler KVO/KVC soi-même? Cette pensée m'emplit d'une amertume que j'espère voir disparaà®tre à la lecture de vos rassurantes réponses...
D'avance merci,
B.
Je suis inscrit actuellement, comme débutant complet en iOS, à un cours de développement d'apps sur ces machines. Fort d'un an ou deux de développement sur MacOS, je veux épater la galerie en faisant une démo sur le mécanisme des bindings, et je sens mon sang refluer: mon fidèle et surexploité onglet favori n'apparaà®t plus dans Xcode. Je bafouille un peu avant de comprendre pourquoi personne n'avait jamais entendu parler de ce truc génial...
Rentré chez moi, j'en suis encore tout étourdi... Apple m'a gavé tout ce temps avec ce mécanisme "magique", je me suis farci des heures de docs pour comprendre comment ça marchait, j'en étais venu à penser qu'effectivement, c'était génial, et paf, Apple décide de s'en passer sur la plate-forme iOS?
Y a-t-il une quelconque raison, technique ou autre, qui justifie cet abandon? N'est-il que temporaire? Les ingénieurs iOS n'auraient-ils pas lu la doc? Ont-ils décrété que ce n'était pas si génial que ça en avait l'air?
L'un d'entre vous pourrait-il me dire s'il existe une solution de rechange? Ou si on joue à émuler KVO/KVC soi-même? Cette pensée m'emplit d'une amertume que j'espère voir disparaà®tre à la lecture de vos rassurantes réponses...
D'avance merci,
B.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je ne connais pas la "vrai" raison, et peut-être verrons nous un jour le Binding sur iOS. Mon sentiment est que cette fonctionnalité du SDK n'est pas encore développée car jugée non prioritaire. Le Binding est très utile sur Mac où l'on peut avoir plusieurs fenêtres, représentant plusieurs vues sur un même objet, affichées simultanément ; intérêt très limité sur iOS.
Je pense la même chose que jpimbert: les bindings ne sont pas intéressants sur l'iPhone. Sur l'iPad, on peut retrouver le principe du Master/Details avec une table sur la gauche, ce qui se rapproche de ce qu'on voit sur Mac, mais la différence est qu'il est rare de pouvoir sélectionner plusieurs lignes sur iPad. D'où moins d'intérêt pour les bindings, le KVO étant suffisant.
Et puis, les bindings sont assez lents, par le principe même, et complexes à comprendre.
Les solutions de rechange: KVO, délégation, notifications...
Ce qu'il manque à iOS sont en fait les équivalents de NSObjectController et NSArrayController et le protocole NSKeyValueBinding. Ce n'est pas impossible à reprogrammer, par contre, il faut rendre tous les UIControls bindables, et ça représente un gros travail.