Xcode 4: Création d'une UIView xib, pas correctement la connexion
Je suis en train de créer une plume qui contient une vue qui sera incorporé dans un TableViewCell. J'ai créé l'interface et la mise en œuvre des fichiers, ResultCell.h
et ResultCell.m
. Ils sont en stock, out-of-the-box, aucune modification de code.
J'ai ensuite créer un vide XIB fichier et faites-le glisser une UIView sur elle. Puis je clique sur le Propriétaire du Fichier, et de définir le type de ResultCell
. J'cliquez sur la vue, et l'ensemble de sa catégorie à être aussi ResultCell
.
Voici les problèmes que j'ai:
- Lors de l'utilisation de l'Assistant de vue de l'Éditeur (qui j'habite), le
ResultCell.h
fichier ne s'affiche pas lorsque je consulte la ResultCell.xib fichier. J'ai pour le forcer à charger en cliquant sur Automatique et en sélectionnant le fichier. - Lorsque je déposer une étiquette dans la vue, puis Ctrl+Clic et faites-la glisser à l' .h à créer une prise de courant, j'obtiens ce message d'erreur: "ne Pouvait pas insérer de nouvelles de la sortie: ne Pouvais pas trouver toutes les informations sur le nom de la classe ResultCell."
J'ai essayé de création et de re-création de la vue, et il n'est tout simplement pas de travail, et j'ai commencé à perdre ma patience. Toute aide serait très très apprécié!
- Je viens de tomber sur moi-même. La nuit dernière, il a travaillé et aujourd'hui rien. Je vous tiens au courant si je trouve quoi que ce soit.
- Pour l'enregistrement, plusieurs réponses ici m'ont aidé au cours de la dernière année. Les dernières versions de Xcode ont amélioré les choses.
Vous devez vous connecter pour publier un commentaire.
Cela pourrait ne pas fonctionner pour votre problème spécifique, mais parfois je reçois cette erreur lorsque vous travaillez avec nouvellement créé plumes. Supprimer et recréer les plumes et les Contrôleurs de Vue, avec les mêmes noms comme avant n'ont pas résolu le problème, mais la relance de Xcode n'.
~/Library/Developer/Xcode/DerivedData
)Je suis dans le même état qu'aujourd'hui. C'était très bizarre: j'ai pu joindre tout XIB (nouveau ou existant) à un déjà existant ViewController classe dans le projet, mais je ne pouvais pas créer un nouveau ViewController et l'ai attacher correctement à tout XIB. L ' "assistant" fonctionnalité ne fonctionne pas, ni ne l'IB-à-headerfile-connexion fonctionnalité.
De la fermeture du projet et de la réouverture n'a pas le fixer.
Cesser de XCode et le redémarrage n'a pas le fixer.
La création d'un nouveau projet et de tester la fonctionnalité a bien fonctionné, ce qui m'a amené à croire qu'il y avait quelque chose de corrompu dans certains cache quelque part.
Ma solution
D'ailleurs, juste de l'exécution d'un nettoyage complet ne semble pas à clarifier les choses. J'ai eu à mettre à la corbeille les données dérivées. Je suis certain que je suis dans cette position à cause de git jeux que je jouais, mais je n'avais aucune idée de comment s'en sortir, parce que même en revenant au plus tôt git révisions n'ont pas les aider. (C'était un indice important aussi que c'était quelque chose de non chaînée par le projet lui-même.)
Je viens d'avoir ce problème et le redémarrage de Xcode n'a pas le fixer. J'ai supprimé les fichiers de classe du projet, puis ajoutés en arrière et il a commencé à travailler.
J'ai eu le même problème. Et j'ai essayé :
Aucun n'a fonctionné. Ce qui a fonctionné pour moi était simplement :
Et fait!
Si le redémarrage de Xcode ne fonctionne pas de vous, j'ai trouvé que le Basculement de la nouvelle .m le fichier de sortie et de retour dans la cible fonctionne l'adhésion.
Cela m'a aidé:
Si vous ne voyez pas un "panel", jetez un œil à l'angle supérieur droit de la fenêtre et de permettre le bon "voir" boutons. Si vous ne voyez pas le "voir" boutons, puis cliquez sur le coin supérieur droit de la plupart des capsule bouton.
J'ai remarqué que .m fichier a été déplacé à l'intérieur de fr.lproj dossier.
Il suffit de supprimer (référence uniquement).m le fichier à partir de Xcode et déplacé .m à l'extérieur de la salle.lproj. Ajouter de nouveau.Il permettra de résoudre le problème.
Ne vous inquiétez pas, vous aurez toutes vos connexions à l'arrière.
J'ai rencontré le même problème aujourd'hui. Le redémarrage de XCode n'a pas résolu le problème pour moi. J'ai été en mesure d'obtenir le retour à la normale en utilisant "Supprimer" option de "Données Dérivées" de la projet qui peuvent être trouvés dans Organisateur. L'organisateur déclare que, "Dérivé de Données comprend des index, la sortie de la construction et de journaux". Je suppose que soit indice ou la sortie de la construction a été à l'origine de ce problème.
dans XCode aller à l'organisateur, cliquez sur le projet, cliquez sur supprimer les données dérivées... de nettoyer le projet
Dans mon cas, il m'a aidé à faire un "faux changement" (un espace) à la fonction d'en-tête de fichier.
UITableViewCell
UIView
sur le vide de la toile, vous devez faire glisser unUITableViewCell
Chaque fois que vous voulez charger une nouvelle cellule, composez le:
après le chargement, l'utilisation de la cellule, et de définir le ivar/sortie à zéro, prêt pour la prochaine charge
il y a d'autres façons, mais ce qui est commun
Peut-être ce qui a fonctionné pour moi est-ce que.. (Xcode v4.5)
, Cela ne fonctionne pas
J'essayais de contrôler faites-les glisser dans la définition de l'interface de mon .h
@end
Cela a fonctionné (peut-être c'est la façon dont il était censé travailler, je ne le savais pas avant)
Voir l'ouvrir et de fermer les parenthèses. Contrôle de glisser-déposer, après le crochet fermé.
J'ai eu un problème similaire avec un projet écrit en Swift.
Ce qui a fonctionné pour moi a été l'établissement du IBOutlet dans le code comme ceci
et ensuite de le connecter à l'Interface Builder en les faisant glisser vers le petit cercle qui est apparu juste à côté de la ligne de code.
Aucune des solutions ci-dessus résolu le connecteur de problème pour moi, donc j'ai mis mon projet de compagnie jusqu'à ce que je suis venu dans la stackoverflow fil:
https://stackoverflow.com/a/15873770/2846800
J'avais travaillé sur un projet de grande envergure dans une précédente version de XCode et avait éteint l'indexation. Par la réactivation d'indexation mon problème est maintenant résolu:
Je peux maintenant utiliser le D&D de fonctionnalités d'Interface Builder. J'espère que cela peut aider les autres...
Ce problème semble être un Xcode bug qui rampe la plupart du temps quand vous remplacez un fichier avec un nouveau fichier du même nom. Xcode semble garder une référence de l'ancien fichier du même nom.
De toute façon, le moyen de résoudre ce problème semble être:
(Étapes 1 et 2 seuls fixe pour moi.)
Si vous avez copié les fichiers à partir d'un autre projet, assurez-vous de cocher la case "Ajouter à des objectifs de" boîte
De renommer les fichiers de classe peut dissocier de la XIB. Cette réponse m'a aidé à découvrir ce:
Ctrl-faites Glisser le bouton à la méthode ne fonctionne pas. Xcode, Interface Builder
Vérifier que votre classe personnalisée est correctement défini dans l'Identité de l'Inspecteur.
Problème similaire, mais différente de la cause.
Apparemment j'ai touché la touche retour arrière lorsque l'accent était mis sur l'assistant de vue, parce que l'un des fichiers standard modèle les lignes de commentaire est passé de la ///dont les résultats dans le fichier n'est pas la compilation.
Fixant le commentaire de SDK pour analyser le fichier, de le reconnaître comme un UIViewController, et les ajouter dans la prise de courant.
DONC, si vous avez ce problème, de faire construire ou de les analyser pour voir si il y a des erreurs qui ont besoin de fixation dans votre vue-contrôleur .h fichier. ENSUITE, essayez les autres solutions.
Cela peut être un vieux sujet, mais juste au cas où quelqu'un a le même problème à l'avenir, essayez de supprimer les associés .xib,.h et .m de fichiers et d'en créer de nouveaux. Pour moi, le UIViewController dans mon .h fichier n'était pas le violet et même de reculer et de frappe, il n'a pas aidé.
Il suffit de mettre une ligne entre le @mise en œuvre et l' @synthétiser. La plupart des réponses ici ont en commun. Il a travaillé pour moi
J'ai juste essayé de tout ici, et rien n'a fonctionné (à l'aide d'une Developer Preview pour Xcode 5).
La seule chose qui a fonctionné pour moi a été de mettre ce incomplète ligne dans mon fichier d'interface:
Pour quelque raison que ce soit, l'ajout de points de vente et des actions par glisser-déposer à partir d'un .xib a bien fonctionné par la suite.
Pour moi que de nettoyage, ni de la suppression de la DerivedData résolu le problème.
J'ai essayé de supprimer et de recréer ma classe UIViewController à plusieurs reprises et a obtenu le problème, encore et encore.
Puis j'ai recréé la classe UIViewController et lui a donné un nom différent. Cela a résolu le problème pour moi.
J'ai eu ce problème et trouvé une solution non énumérés ci-dessus.
Dans mon cas, j'ai pu voir qu'il y a quelque chose de mal dans la classe .h fichier car mon custom-vue-contrôleur n'a pas reconnu la classe : UIViewController (c'était en noir et non le violet). Tous les autres affichage personnalisé des contrôleurs eu l' : UIViewController en violet.
dans mon cas, et, éventuellement, la vôtre, j'ai besoin d'ajouter à la classe de cibles/construire/phases de la compilation des Sources déroulant. L' .m doit être ajouté. Toutes les autres .m étaient là, mais pas celui-ci.
Une fois que je l'ai ajouté le :UIViewController est apparu en violet et tout a bien fonctionné.
Pour mon cas, j'ai plusieurs projets avec d'autres dépendances. J'ai essayé de le résoudre par la suppression de données dérivées ou le redémarrage de XCode, mais il ne pouvait pas travailler. En fin de compte, j'ai essayé la méthode suivante et ça fonctionne:
Aller à la cible > Construire des Architectures Cibles Seulement > et set Debug et Release NO.
Définir ce, pour tous les projets dans l'espace de travail et de recompiler pour s'assurer il n'y a pas d'autres erreurs. Peut-être pas logique, mais en quelque sorte il l'a fait. Lors de ma compilation, j'avais d'autres questions telles que l'éditeur de liens d'erreurs et de symboles qui ne sont pas trouvés.
Pour *.m fichier de ce point de vue de classe ouverte "Afficher l'Inspecteur de Fichiers" et en décochant "Cible d'adhésion" pour ce projet, alors n'Propre (menu Produit->Nettoyer) et de vérifier à nouveau "Cible d'adhésion" pour ce projet
L'utilisation de Swift, j'ai eu un problème similaire. J'ai trouvé que la commentaires ont été une partie du problème pour moi.
J'ai utilisé la vue par défaut du contrôleur, fait un peu de travail en elle, puis il a créé un second point de vue contrôleur en copiant l'intégralité de la première, à la déshabiller pour seulement viewDidLoad() et changement de nom de la classe à TestViewController. Construit travaillé, le code exécuté. Tout était bon.
Quand je suis allé pour faire glisser un objet UITextField pour créer une prise de courant, il ne me laisserait pas. J'ai remarqué que mes commentaires toujours dit "ViewController.swift", j'ai donc modifié le texte de commentaire pour "TestViewController.swift" et reconstruite. J'ai pu connecter ma sortie!
Je me demande si ce qui s'est passé, c'est que l'Indexeur a la lecture des commentaires ainsi que les noms de classe, et en quelque sorte obtenu confus.
Espère que cela aide quelqu'un là-bas.
J'ai juste eu à supprimer les données dérivées du dossier. Vous devez cliquer sur la Fenêtre -> Organisateur -> Projets -> Supprimer des Données Dérivées
ET REDÉMARREZ XCODE.
Vous devriez être bon d'aller!
La nouvelle classe ne faisant pas partie de la "CIBLE" est probablement la cause de ce, comme rapporté par certains de ces réponses.
Lors de la création d'une nouvelle cacao classe, par défaut, l'option pour ajouter une nouvelle classe pour cible par défaut est cochée, mais doit, pour une raison quelconque, ce n'est pas cochée lorsque vous cliquez sur enregistrer, vous aurez ce problème.
L'une de ces solutions de contournement pour ajouter la nouvelle classe pour les applications objectif sera de travailler à résoudre le problème, et c'est quelque chose que tous ces "bugs" ont en commun.
Je pense que XCode a probablement quelques bugs qui provoque un nouveau fichier, par défaut, pour ne PAS être ajoutée à l'apps cible principale. Le correctif se résume à l'ajout de votre "brisées" de la classe de la CIBLE principale,
Dans XCode 7.1, ajoutant le connecteur à un point différent dans mon fichier source travaillé. L'erreur que j'ai été se référé à l'un de mes variables comme s'il s'agissait d'une classe (n'a pas de sens). L'erreur arrêté produisent lorsque j'ai ajouté le connecteur en dessous de cette variable au lieu d'au-dessus.
Il y a aussi une diferent raison pour le problème ... si vous avez créé de nouveaux cacao fichier de classe avec des modèles autres que ios ... j'ai peut arriver...
La solution serait de le supprimer et de re créer avec bon modèle
J'ai eu le même problème. La reconstruction projet m'aide
Command+B
.Quand j'essaie de générer automatiquement la fonction action avec dessous de la façon dont je suis venu à cette question.
Mais je peux le faire avec les ci-dessous, manuel d'écrire la fonction action d'abord, puis faites-le glisser sur la région de la
@IBAction
d'une fonction