objective-c - tutorial - swift vs objective c




L'achèvement du code Swift Xcode 6 ne fonctionne pas (9)

En utilisant la graine Xcode 6 GM mon code a cessé de fonctionner. Ça fonctionnait l'autre jour. J'essayais de faire travailler le segue de décompression. J'avais créé un fichier d'en-tête Objc et l'ai assigné 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, en faisant un nouveau projet vide.


Allez dans le menu Xcode, puis Window -> Organizer, puis sélectionnez Projects. Choisissez votre projet et appuyez sur le bouton Supprimer à côté des données dervies Puis redémarrez Xcode

Cette solution a fonctionné avec moi sur Xcode 6.1


Cette correction des forums apple dev 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 (pour effacer les caches en mémoire).
  3. Supprimez le contenu du dossier DerivedData (~ / Library / Developer / Xcode / DerivedData), exécutez avec précision, a) cd ~ / Bibliothèque / Developer / Xcode / DerivedData /
    b) rm -rf *
  1. (Essayez ceci si les étapes 1-3 ne fonctionnent pas vraiment car elles reconstruisent le cache plus tard au redémarrage, ce qui prend du temps) Supprimez le contenu du dossier ~ / Library / Caches / com.apple.dt.Xcode, c.-à-d.
    a) cd ~ / Bibliothèque / Caches / com.apple.dt.Xcode
    b) rm -rf *

Maintenant, lancez Xcode une fois de plus ...


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 Target Membership, 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.


Essayez ce qui suit - aussi stupide que cela puisse paraître: Changez le périphérique en iPhone 6, fermez Xcode, rouvrez Xcode et attendez que l'indexation soit terminée.


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 rapide pour iOS et OSX
  2. Projet iOS (qui utilise le cadre rapide)

Mon code de complétion fonctionne très bien dans iOS mais il continue d'échouer dans le cadre rapide. J'ai essayé toute la solution à propos et n'a pas eu de chance et était en train de tuer ma productivité.

Enfin j'ai compris la solution à ce problème.

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

C'est ce qui a résolu mon problème. J'espère que cela aide quelqu'un qui est dans cette situation.


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

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

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

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

  3. Redémarrer xcode

J'espère que cela fonctionne


Si votre problème d'achèvement de code concerne uniquement les classes d'interface utilisateur (par exemple, UIImage, UIDevice), il vous suffit d'ajouter "import UIKit".

Les fichiers Swift n'auront pas de code d'achèvement pour les classes d'interface utilisateur à moins qu'il n'y ait un "UIKit d'importation".


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


Il suffit d'aller dans user->Library->Developer->Xcode->DerivedData et supprimer les données du dossier (données dérivées) et redémarrer Xcode.





swift