2010-11-30 3 views
0

Je me demandais si je pouvais concevoir un fichier nib/xib et générer du code pour cela? En d'autres termes, au lieu d'écrire des lignes de code pour générer une interface, ne serait-il pas plus simple de concevoir et de faire un fichier nib en utilisant IB et d'obtenir la source ou quelque chose comme ça?iphone, xcode; Reverse engineering d'une plume

Merci

Répondre

1

Je pense que vous pouvez mal comprendre ce qu'est un fichier nib est. Si vous voulez dire que vous préférez créer vos objets de vue dans le générateur d'interface et que les prises sont automatiquement insérées dans vos fichiers source, alors faites appel à la version bêta de XCode.

+1

En fait, la version non bêta d'Interface Builder le fait déjà. Créez une plume et choisissez Fichier -> Écrire des fichiers de classe. – jsd

+0

ouais je viens de remarquer celui-ci, je dois voir si cela fonctionne, merci beaucoup jsd – Veeru

0

Je ne pense pas que ce soit possible dans xcode de générer du code pour un fichier nib conçu. Je sais que vous faites référence à des outils de conception web comme macromedia dreamweaver.

Deuxièmement, pourquoi avez-vous besoin du code? Le code X fournit la possibilité d'intégrer la pointe dans le code lui-même.

Merci

+0

peut être ma pensée est erronée, corrigez-moi si je suis, je voudrais créer une vue ou plusieurs copies de la même vue (qui est conçu dans un fichier nib) lors de l'exécution avec tous les points de vente et les actions. En d'autres termes, chaque vue créée lors de l'exécution prend les sorties et les actions du fichier nib et fonctionne de manière indépendante. Je ne suis même pas sûr si j'ai dit ma bonne question. – Veeru

0

Vous demandez un générateur de code, qui, comme JSD noté IB fera si vous voulez vraiment. Cependant, votre vie sera beaucoup plus facile si vous acceptez ce qu'est IB, un mécanisme de création, de placement, de liaison et de stockage d'objets.

IB fait toutes les choses fastidieuses pour vous, en créant des instances et en définissant des valeurs initiales pour vous avec (quelques) relations, puis en les combinant toutes. Il gèle le résultat afin qu'il soit prêt à l'exécution. Il est parfois judicieux d'utiliser ce que IB a fait comme modèle pour baser l'autre code au lieu d'utiliser les vues qu'il crée directement, mais si vous générez du code, vous êtes potentiellement désynchronisé avec IB et cela le rend difficile à utiliser pour maintenir l'interface à l'avenir.

+0

Salut Kendall, merci pour la perspicacité; J'ai mentionné ce que j'ai dans mon esprit dans le commentaire ci-dessus, pouvez-vous me pointer dans la bonne direction? – Veeru

+0

Une façon serait de descendre la hiérarchie de vue retournée par loadWithNib, et créer des vues et des sous-vues correspondantes - définir des choses communes de chaque vue comme la couleur de l'image et de l'arrière-plan et regarder le type pour voir si les propriétés personnalisées doivent être définies. Vous pourriez probablement aussi utiliser NSCoder pour geler et créer plusieurs copies d'une vue aussi, pas sûr si cela est récursif dans la mesure où les sous-vues vont ... –

+0

hmm, intéressant, pas sûr de savoir comment commencer, mais je pense que je comprends ce que vous voulez dire; temps pour plus de lecture :) – Veeru

Questions connexes