[Astuces] Comment résoudre les problèmes avec XCode et Swift pour les débutants

environnement

macOS:Catalina 10.15.6 Xcode:12.0 Swift:5.3

A propos de l'auteur

Je suis juste un ingénieur qui étudie le «rapide» comme passe-temps. Je ne l'utilise pas du tout au travail. J'ai étudié «swift» une fois vers 2015, et récemment ravivé et réétudié.

1. La vue de la pile ne peut pas être bien contrainte

Si la valeur de spacing contient une valeur différente de 0, il semble que la contrainte sera affectée, donc Il est préférable de saisir 0 pour "espacement" (tout endroit qui n'affecte pas la contrainte). スクリーンショット 2020-10-18 19.50.23.png

2. Lorsque je crée une nouvelle classe et hérite du protocole, j'obtiens un avertissement.

Cannot declare conformance to 'NSObjectProtocol' in Swift; Je me mets en colère. Dans ce cas, «importer la fondation» puis hériter de «NSObject» est la solution. Dans mon cas, c'était difficile parce que j'ai supprimé ʻimport Foundation` et essayé et fait une erreur.

3. Erreur de construction

«Plusieurs commandes produisent XXX» se produit. Si vous regardez attentivement, Target [nom de l'application] a une commande de copie de XXX et La cible [nom de l'application] a une commande de lien avec la sortie XXX. Après quelques recherches, quelque chose semblait en conflit. Je pense que c'était mal de copier manuellement le fichier .swift sur XCode. Je n'étais pas sûr, alors je l'ai résolu en recréant le projet. Le problème a été résolu en copiant «XXX.swift» et «Main.storyboard» de l'ancien dossier de projet vers le nouveau dossier de projet sur «Finder». Je n'ai pas connu l'emplacement de Main.storyboard pendant un moment, mais sur Finder, il est dans... / [nom de l'application] / [nom de l'application] / Base.Iproj /.

4. Je veux bien ajuster l'objet en proportion (comme TableView avec une hauteur de 40%)

Le site de ici sera utile.

5. Le texte ne se brise pas

Je veux insérer un code de saut de ligne et commencer une nouvelle ligne à n'importe quel endroit, mais le saut de ligne ne se produit pas. Cela ne semblait pas fonctionner avec \ n, j'ai donc dû taper \ n. Vous pouvez entrer \ en maintenant la touche ʻoption enfoncée et en appuyant sur \ `.

6. Impossible de se connecter au fichier .swift, ʻOutlet, ʻAction

J'ai créé un nouveau ViewController tel que la destination de la transition et j'ai essayé de me connecter avec lui de la même manière que le ViewController depuis le début, mais seul l'élément ʻObject` peut être sélectionné. スクリーンショット 2020-10-24 21.32.08(2).png

Sélectionnez la cible ViewController sur le Storyboard. Sélectionnez la classe correspondant à ViewController dans la Classe personnalisée de ʻIdentity Inspector`. (Image modifiée) スクリーンショット 2020-10-24 21.37.51(2).png

7. Je ne peux pas sortir avec TableView

Afin d'éviter le gonflement de ViewController, une classe qui hérite de ʻUITableViewDelegate et ʻUITableViewDataSource peut être créée séparément, et le traitement peut être délégué à cette classe. Dans ce cas, il y a quelques points à prendre en compte. L'instance de la classe à déléguer doit être créée en dehors de viewDidLoad (). Eh bien, si vous y réfléchissez un instant, c'est naturel. Si la destination de la délégation est ViewController (vous-même), cela fonctionne bien même si vous créez une instance dans viewDidLoad (). Bien que cela diffère du sujet principal, si vous voulez créer une instance dans viewDidLoad () en raison de problèmes de synchronisation (si vous voulez le faire après un certain traitement), déclarez simplement la variable en dehors de viewDidLoad () et Il n'y a aucun problème si vous l'assignez dans viewDidLoad ().

Recommended Posts

[Astuces] Comment résoudre les problèmes avec XCode et Swift pour les débutants
Incontournable pour les débutants! Manière spécifique de gérer les projets X-code sur Github
[Ruby] Comment utiliser slice pour les débutants
[Pour les débutants] Comment déboguer avec Eclipse
[Swift] Comment connecter TabBar avec Storyboard Reference et également utiliser NavigationController
(Pour les débutants) [Rails] Technologie de gain de temps! Comment installer et utiliser Slim
Java8 / 9 Beginners: Streaming API addiction points et comment les gérer
[Swift / Pour les débutants] Écrivez intelligemment avec l'inférence de type
[Java] Comment tester s'il est nul dans JUnit
[Pour les débutants] Comment implémenter la fonction de suppression
Comment créer une API avec GraphQL et Rails
[Pour les super débutants] Comment utiliser l'autofocus: vrai
Je crée une application Android et elle est bloquée par des erreurs et comment la résoudre
Comment configurer la vision par ordinateur pour le suivi des images et des vidéos avec TrackingJs
Comment implémenter UICollectionView avec du code uniquement dans Swift
Comment créer un environnement Docker avec Gradle pour IntelliJ
[Pour les débutants] Pouvons nous enduire comme Swift!
Comment traiter Aucun modèle de demande interactive
[Pour les débutants] Comment utiliser Stream API après Java 8
[Spring Boot] Comment créer un projet (pour les débutants)
Comment sérialiser et désérialiser le type LocalDateTime avec GSON
Comment quitter Docker pour Mac et créer un environnement de développement Docker avec Ubuntu + Vagrant
Comment installer Gradle et Kotlin avec SDKMAN (Mac)
Explication de Ruby on rails pour les débutants ④ ~ À propos des règles de dénomination et comment utiliser form_Tag ~
Comment utiliser GitHub pour les super débutants (développement d'équipe)
Comment ajouter un autre projet en tant que bibliothèque Maven avec CircleCI et l'utiliser pour la construction
[Pour les débutants Swift] J'ai essayé de résumer le cycle de mise en page désordonné de ViewController et View
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
J'ai essayé de collecter et de résoudre les problèmes liés à la «classe» de Ruby.
Comment transformer des figurines ARKit et SceneKit avec Metal Shader
Comment utiliser l'icône Font Awesome pour ul et li
Comment résoudre les problèmes causés par les trois files d'attente de blocage de Java
Tutoriel pour créer un blog avec Rails pour les débutants Partie 2
Procédures pour transmettre RealmObject à Fragment et comment utiliser Parceler
Pour les débutants Java: List, Map, Iterator / Array ... Comment convertir?
A étudié comment appeler des services avec Watson SDK pour Java
Comment créer et lancer un Dockerfile pour Payara Micro
Tutoriel pour créer un blog avec Rails pour les débutants Partie 0
Comment gérer différentes versions de rbenv et Ruby
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
[Pour les super débutants] Les connaissances minimales que vous voulez garder à l'esprit avec les hachages et les symboles
[Pour les débutants] Voici quelques références liées à la technologie et à la carrière.
Comment utiliser des séquences \ t Escape différentes pour Mac et Windows-java
Un outil pour générer des images Retina pour iOS à utiliser avec Xcode
[R Spec on Rails] Comment écrire du code de test pour les débutants par les débutants
[Swift] Créez un projet avec Xcode (ver 12.1) et affichez "Hello, World!"