web-dev-qa-db-fra.com

Xcode 4 Interface Builder: Comment définir le propriétaire du fichier

J'ai myController.h et myController.m définis et j'ai procédé à la création d'un myController.xib avec l'Assistant. Je ne peux cependant pas connecter les contrôles du fichier xib à l'interface de classe. Habituellement, lorsque je laisse tomber le réticule de connexion sur l'icône Propriétaire du fichier, il me montrera une liste de propriétés qui ont été déclarées comme IBOutlet, mais cette fois ce n'est rien.

Je pensais que les noms des fichiers de classe et du fichier XIB (myController) lient automatiquement le propriétaire du fichier, mais apparemment, ce n'est pas le cas.

Comment puis-je lier manuellement les deux?

32
Haoest

Allez dans le Identity Inspector (Cmd + Option + 3) et changez la classe en myController.

57

Le voici en 5.1:

enter image description here

J'ai pensé ajouter cette capture d'écran car il m'a fallu un certain temps pour la trouver!

11
Patrice Gagnon

Eu la même question ... XCode 4.2 permet de créer une sous-classe de UIViewController et là vous pouvez éventuellement cocher l'option "avec XIB pour l'interface utilisateur".

Nouveau fichier ... >> Sous-classe UIViewControler >> "avec xib ..."

4
guitar_freak

J'ai trouvé un moyen de le faire manuellement ... Quand le monde n'utilise plus de XIB (s) ... Ouvrez le fichier XIB ou NIB dans votre éditeur de texte préféré

vous y trouverez cette ligne ...

        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyClassName">

Remplacez MyClassName par la classe à laquelle vous voulez vous référer, enregistrez le fichier et le propriétaire de votre fichier sera changé. Attention: fermez Xcode (pour recharger automatiquement les modifications) et effectuez également une sauvegarde au cas où vous gâcher quelque chose.

4
jeet.chanchawat

J'ai rencontré le même problème dans Xcode 4: en essayant d'établir une connexion avec le propriétaire du fichier, l'icône n'a pas répondu en faisant glisser la ligne de connexion et en survolant le propriétaire du fichier. La réinitialisation de la classe personnalisée n'a pas fonctionné. J'ai fini par essayer de quitter et de redémarrer Xcode et seulement cela a fait l'affaire.

1
Tom