[Tipps] So lösen Sie Probleme mit XCode und Swift für Anfänger

Umgebung

macOS:Catalina 10.15.6 Xcode:12.0 Swift:5.3

Über den Autor

Ich bin nur ein Ingenieur, der "schnell" als Hobby studiert. Ich benutze es überhaupt nicht bei der Arbeit. Ich habe um 2015 einmal "schnell" studiert und vor kurzem neu entfacht und neu studiert.

1. Die Stapelansicht kann nicht gut eingeschränkt werden

Wenn der Wert von "Abstand" einen anderen Wert als 0 enthält, scheint die Einschränkung davon betroffen zu sein Es ist besser, 0 für "Abstand" einzugeben (jede Stelle, die die Einschränkung nicht beeinflusst). スクリーンショット 2020-10-18 19.50.23.png

2. Wenn ich eine neue Klasse erstelle und das Protokoll erbe, wird eine Warnung angezeigt.

Cannot declare conformance to 'NSObjectProtocol' in Swift; Ich werde böse. In diesem Fall besteht die Lösung darin, "Foundation importieren" und dann "NSObject" zu erben. In meinem Fall war es schwierig, weil ich die "Import Foundation" löschen und versuchen musste, Fehler zu machen.

3. Fehler erstellen

Mehrere Befehle erzeugen XXX tritt auf. Wenn Sie genau hinschauen, hat "Ziel [App-Name] einen Kopierbefehl von XXX" und "Ziel [App-Name] hat einen Verknüpfungsbefehl mit Ausgabe XXX". Nach ein wenig Recherche schien etwas in Konflikt zu stehen. Ich denke, es war schlecht, die .swift-Datei manuell auf XCode zu kopieren. Ich war mir nicht sicher, also habe ich es gelöst, indem ich das Projekt neu erstellt habe. Das Problem wurde gelöst, indem "XXX.swift" und "Main.storyboard" aus dem alten Projektordner in den neuen Projektordner im "Finder" kopiert wurden. Ich kannte den Speicherort von "Main.storyboard" für einen Moment nicht, aber auf "Finder" befindet es sich in "... / [App-Name] / [App-Name] / Base.Iproj /".

4. Ich möchte das Objekt gut proportional anpassen (z. B. TableView mit 40% Höhe).

Die Website von hier ist hilfreich.

5. Text bricht nicht

Ich möchte einen Zeilenvorschubcode einfügen und an einer beliebigen Stelle eine neue Zeile beginnen, aber der Zeilenumbruch tritt nicht auf. Es schien nicht mit \ n zu funktionieren, also musste ich \ n eingeben. Sie können \ eingeben, indem Sie die Option gedrückt halten und \ drücken.

6. Outlet kann nicht mit .swift-Datei Action` verbunden werden

Ich habe einen neuen "ViewController" wie das Übergangsziel erstellt und von Anfang an versucht, eine Verbindung mit ihm wie der "ViewController" herzustellen, aber das "Objekt" -Element kann nur "Beenden" auswählen. スクリーンショット 2020-10-24 21.32.08(2).png

Wählen Sie das Ziel "ViewController" auf dem "Storyboard". Wählen Sie die Klasse, die "ViewController" entspricht, aus "Benutzerdefinierte Klasse" von "Identity Inspector" aus. (Bild geändert) スクリーンショット 2020-10-24 21.37.51(2).png

7. Ich kann nicht mit "TableView" ausgehen

Um das Aufblähen von "ViewController" zu verhindern, kann eine Klasse, die "UITableViewDelegate" und "UITableViewDataSource" erbt, separat erstellt und die Verarbeitung an diese Klasse delegiert werden. In diesem Fall sind einige Punkte zu beachten. Die Instanz der zu delegierenden Klasse muss außerhalb von viewDidLoad () erstellt werden. Wenn Sie einen Moment darüber nachdenken, ist das natürlich. Wenn das Delegierungsziel "ViewController" (Sie selbst) ist, funktioniert es auch dann einwandfrei, wenn Sie eine Instanz in "viewDidLoad ()" erstellen. Obwohl es vom Hauptthema abweicht, deklarieren Sie die Variable außerhalb von "viewDidLoad ()" und ", wenn Sie aufgrund von Zeitproblemen eine Instanz in" viewDidLoad () "erstellen möchten (wenn Sie dies nach einer gewissen Verarbeitung tun möchten) Es gibt kein Problem, wenn Sie es in viewDidLoad () `zuweisen.

Recommended Posts

[Tipps] So lösen Sie Probleme mit XCode und Swift für Anfänger
Ein Muss für Anfänger! Eine konkrete Möglichkeit, ein X-Code-Projekt auf Github zu verwalten
[Ruby] Wie man Slice für Anfänger benutzt
[Für Anfänger] So debuggen Sie mit Eclipse
[Swift] So verbinden Sie TabBar mit Storyboard Reference und verwenden auch NavigationController
(Für Anfänger) [Rails] Zeitsparende Technik! So installieren und verwenden Sie slim
Java8 / 9-Anfänger: Streamen Sie API-Suchtpunkte und wie Sie damit umgehen
[Swift / Für Anfänger] Schreiben Sie intelligent mit Typinferenz
[Java] So testen Sie, ob es in JUnit null ist
[Für Anfänger] So implementieren Sie die Löschfunktion
So erstellen Sie eine API mit GraphQL und Rails
[Für Super-Anfänger] Verwendung des Autofokus: true
Ich mache eine Android-App und sie steckt voller Fehler und wie man sie löst
So richten Sie Computer Vision für die Verfolgung von Bildern und Videos mit TrackingJs ein
So implementieren Sie UICollectionView mit Code nur in Swift
So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
[Für Anfänger] Lassen Sie uns wie Swift beschichten!
Umgang mit Keine Vorlage für interaktive Anfragen
[Für Anfänger] So bedienen Sie die Stream-API nach Java 8
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
So serialisieren und deserialisieren Sie den LocalDateTime-Typ mit GSON
So beenden Sie Docker für Mac und erstellen eine Docker-Entwicklungsumgebung mit Ubuntu + Vagrant
So installieren Sie Gradle und Kotlin mit SDKMAN (Mac)
Erklärung von Ruby on Rails für Anfänger ④ ~ Informationen zu Benennungsregeln und zur Verwendung von form_Tag ~
Wie man GitHub für Super-Anfänger benutzt (Teamentwicklung)
So fügen Sie mit CircleCI ein weiteres Projekt als Maven-Bibliothek hinzu und verwenden es zum Erstellen
[Für Swift-Anfänger] Ich habe versucht, den chaotischen Layoutzyklus von ViewController und View zusammenzufassen
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
Ich habe versucht, Rubys "Klassen" -Probleme zu sammeln und zu lösen.
So transformieren Sie ARKit- und SceneKit-Figuren mit Metal Shader
So verwenden Sie das Font Awesome-Symbol für ul und li
So lösen Sie die Probleme, die durch die drei Blockierungswarteschlangen von Java verursacht werden
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 2
Verfahren zum Übergeben von RealmObject an Fragment und zur Verwendung von Parceler
Für Java-Anfänger: Liste, Karte, Iterator / Array ... Wie konvertiere ich?
Untersucht, wie Dienste mit Watson SDK für Java aufgerufen werden
So erstellen und starten Sie eine Docker-Datei für Payara Micro
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 0
Umgang mit verschiedenen Versionen von rbenv und Ruby
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
[Für Super-Anfänger] Das Mindestwissen, das Sie mit Hashes und Symbolen berücksichtigen möchten
[Für Anfänger] Hier einige Referenzen zu Technologie und Karriere.
Verwendung von \ t Escape-Sequenzen, die für Mac und Windows-Java unterschiedlich sind
Ein Tool zum Generieren von Retina-Bildern für iOS zur Verwendung mit Xcode
[R Spec on Rails] So schreiben Sie Testcode für Anfänger von Anfängern
[Swift] Erstellen Sie ein Projekt mit Xcode (Version 12.1) und zeigen Sie "Hallo Welt!"