web-dev-qa-db-fra.com

Xcode 6 Swift complétion de code ne fonctionne pas

Utilisation de Xcode 6 GM initialisation de l'achèvement de mon code a cessé de fonctionner. Il fonctionnait l'autre jour. J'essayais de faire fonctionner la séquence de déroulement. J'ai créé un fichier d'en-tête Objc et attribué comme en-tête pour une classe Swift.

À ce stade, j'obtiens l'achèvement du code avec un projet Objective-c. Mais pas avec un projet Swift.

J'ai essayé de redémarrer Xcode, créant un nouveau projet vide.

59
Mitchell Hudson

Allez simplement dans user->Library->Developer->Xcode->DerivedData et supprimer les données du dossier (données dérivées) et redémarrer Xcode.

102
Ali Raza

Ce correctif de Apple dev forums fonctionne pour moi. J'ai eu des problèmes de saisie semi-automatique avec Xcode 6.1/Yosemite.

  1. Quittez Xcode.
  2. Redémarrez l'ordinateur (c'est pour effacer tous les caches en mémoire).
  3. Supprimez le contenu du dossier DerivedData (~/Library/Developer/Xcode/DerivedData), exécutez précisément, a) cd ~/Library/Developer/Xcode/DerivedData /
    b) rm -rf *

  1. (Essayez ceci si les étapes 1 à 3 ne fonctionnent pas vraiment car il reconstruit le cache plus tard au redémarrage, ce qui prend du temps) Supprimez le contenu du dossier ~/Library/Caches/com.Apple.dt.Xcode, c'est-à-dire,
    a) cd ~/Library/Caches/com.Apple.dt.Xcode
    b) rm -rf *

Maintenant, lancez Xcode une fois de plus…

27
Anuj

J'ai rencontré une panne grave de l'achèvement du code parce que j'avais quelques "notes" après l'instruction @end de mon fichier .m qui étaient les suivantes:

/*
 NSAlertFirstButtonReturn, NSAlertSecondButtonReturn, NSAlertThirdButtonReturn
 */

Ces lignes peuvent apparaître avant l'instruction @end sans détruire l'achèvement du code.

18
NSBob

Il existe un moyen plus simple de supprimer les données dérivées de Xcode (pas besoin d'ouvrir le Finder ou de redémarrer):

Organisateur Xcode -> Projets -> (Votre projet) -> Supprimer les données dérivées

7
Oren

J'ai récemment eu ce problème. La saisie semi-automatique n'a pas fonctionné ... et quand j'ai tapé par exemple tableView .... cela ne m'a pas donné les différentes fonctions disponibles.

J'ai essayé ce qui suit et cela a fonctionné pour moi.

  1. Organisateur Xcode -> Projets -> (Votre projet) -> Supprimer les données dérivées

  2. supprimer le fichier ~/Library/Developer/Xcode/DerivedData/ModuleCache

  3. Redémarrez xcode

J'espère que cela fonctionne

5
Ronaldoh1

Une autre raison possible pour laquelle cela ne fonctionne pas est parce qu'il ne fait pas partie de l'adhésion cible. Pour résoudre ce problème, sélectionnez le fichier sur lequel vous travaillez. Ensuite, accédez à l'inspecteur de fichiers et dans la section Appartenance cible, assurez-vous que votre projet est vérifié.

Target Membership

4
Donn

Essayez ce qui suit - aussi stupide que cela puisse paraître: changer d'appareil pour iPhone 6, fermer Xcode, rouvrir Xcode et attendre la fin de l'indexation.

2
Timm Kent

utilisateur/Bibliothèque/Développeur/Xcode/DerivedData Supprimez tous les fichiers affichés dans ce dossier. après cela, accédez au nom de votre projet et nettoyez le projet, puis revenez au fichier où vous souhaitez voir les suggestions. Tapez n'importe quel mot et c'est fait.

1
MRizwan33

J'ai eu le même problème mais dans des circonstances différentes, j'ai 2 projets dans mon espace de travail

  1. Cadre Swift pour iOS et OSX
  2. projet iOS (qui utilise le Swift)

L'achèvement de mon code fonctionne bien dans iOS, mais il continue d'échouer dans le cadre Swift. J'ai essayé toute la solution et n'ai pas eu de chance et tuais ma productivité.

Enfin, j'ai trouvé la solution à ce problème.

  1. Sélectionnez le fichier que vous éditez (dans le cadre)
  2. Sélectionnez l'onglet "utilitaires" à droite
  3. décochez la cible Mac (conservez simplement la cible pour laquelle vous travaillez actuellement)

C'est tout, cela a résolu mon problème. j'espère que cela aide quelqu'un qui est dans cette situation un peu.

1
spaceMonkey

Allez dans le menu Xcode, puis Fenêtre -> Organiseur, puis sélectionnez Projets. Choisissez votre projet et appuyez sur le bouton Supprimer à côté des données enregistrées puis redémarrez Xcode

Cette solution a fonctionné avec moi sur Xcode 6.1

1
ossamacpp

Si votre problème de complétion de code ne concerne que les classes UI (par exemple UIImage, UIDevice), il vous suffit d'ajouter "importer UIKit".

Les fichiers Swift n'auront PAS de code complet pour les classes d'interface utilisateur, sauf s'il existe un "import UIKit".

1
chow

Dans mon cas, certains fichiers ont été supprimés dans le système de fichiers mais étaient toujours référencés dans le projet, c'est-à-dire en couleur rouge. Supprimez simplement ceux de Project et tout allait bien. L'achèvement du code a commencé à fonctionner.

Vous souhaitez également signaler que toutes les réponses ci-dessus concernant la suppression/suppression du dossier de données dérivées semblent fonctionner momentanément, mais chaque fois qu'il y a eu une nouvelle extraction ou mise à jour, le problème a recommencé, la cause principale était donc les fichiers non référencés/déplacés/supprimés qui apparaissent comme ROUGE dans le projet, ils doivent être effacés manuellement.

0
ioopl

Donc, tout ce que vous avez à faire est de vous assurer que dans la vue de l'inspecteur de fichiers sur le côté droit, sous Appartenance cible, la première case est cochée. Je ne sais pas pourquoi cela change les choses, mais je suis sûr que quelqu'un peut venir et donner une réponse plus complète.

0
Jeff Chang