Nib2objc: Ou comment convertir un nib en code Objectif-C

L’utilisation d’Interface Builder s’avère très pratique pour les développeurs Cocoa Touch. C’est vrais que c’est génial de pouvoir créer ses interfaces en mode WYSIWYG. Oui mais voilà, cela peut poser quelques problèmes. Outre les cas où l’utilisation du code est nécessaire (pour atteindre la granularité voulue), on peut vouloir renoncer à l’utilisation des nibs pour des raisons de performance.

En effet, dans certains cas l’utilisation des nibs pose de sérieux problèmes de performance. On se retrouve ainsi avec un dur choix: soit on choisit la simplicité (et on utilise Interface Builder), soit on écrit ses interfaces directement dans le code et on gagne en performance. Dans certains cas, l’impact de l’utilisation des nibs sur la performance est quasi nul. La question ne se pose donc pas. Mais parfois, ce n’est pas le cas.

Dans ce dernier cas de figure, il existe maintenant une solution: nib2objc. Ce projet Open-Source est tout simplement un convertisseur de fichiers nib (.xib) vers du code Objectif-C. Il gère toutes les propriétés publiques de chacun des éléments graphiques, le constructeur et la hiérarchie des vues. Pour le moment, il n’y a que les composants d’UIKit qui sont supportés. L’utilisation est on-ne-peut-plus simple:

image-6

Et voilà le résultat pour ce nib:

Comme vous pouvez le voir, c’est très verbeux. C’est parce que l’outil ne détecte pas les valeurs qui sont là par défaut. Donc dans le doute, il génère toutes les propriétés. A noter aussi que les valeurs des propriétés UIImage, NSLocale et NSTimeZone ne sont pas sorties dans le code. En effet, ibtool (sur lequel nib2objc se base) ne les supporte pas.

Plus d’informations sur la page du projet nib2objc du site d’Adrian Kosmaczewski.

2 Responses to "Nib2objc: Ou comment convertir un nib en code Objectif-C"

Add Comment
  1. Adrian

    16 juin 2009 at 16 h 38 min

    Merci pour l’article! :) Je vais publier une update bientot avec les proprietes propres a l’OS 3.0… des que le NDA sera tombe ;)

    Répondre
  2. Julien Quéré

    17 juin 2009 at 13 h 42 min

    Niquel :)

    Je suis impatient de pouvoir utiliser cette nouvelle version.

    Je te l’avoue, j’utilise fréquemment ton outil au travail ! Merci …

    Répondre

Submit a comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">