2016-01-30 13 views
6

ich definiere eine Struktur wie diese in den Point.swift Innenseite meiner Xcode-Projektdatei:Xcode nicht automatisch vervollständigt nicht element initializer einen Struct

struct Point { 
    var x: Int 
    var y: Int 
} 

Wenn ich versuche, die Punkt-Struktur aus einer anderen Datei init , Xcode wird den Memberwise-Initialisierer nicht automatisch vervollständigen. Selbst wenn ich die Maschine neu gestartet habe, wie es einige Freunde vorschlagen.

screenshot

ABER Auto-Vervollständigung funktioniert gut, wenn ich in der gleichen Datei oder Spielplatz eine neue Instanz initialisiert bin definieren.

screenshot

Irgendwelche Ideen, wie man diese automatische Vervollständigung Problem zu beheben?

+0

Das ist seltsam. Beachten Sie, dass das zweite Mal, wenn Sie 'Point' in der neuen Datei verwenden, automatisch vervollständigt wird. – vacawama

Antwort

3

Speichern Sie Ihre Dateien.

Xcode wird automatisch vervollständigt richtig, wenn Sie Point.swift

gespeichert habe ich weiß, es seltsam scheint, aber obwohl Xcode die Struktur erkennt und ermöglicht Syntax richtig Färbung, während die Dateien bearbeiten, es funktioniert automatisch vervollständigt noch nicht vollständig bis die Struktur-Quelldatei definitiv gespeichert wird (das Dateisymbol ändert seine Hintergrundfarbe).

Ich hatte dieses Verhalten in der Vergangenheit, und ich konnte es nur in einem Beispielprojekt reproduzieren.

+0

Ich dachte das Gleiche. Aber das ist es nicht. Selbst wenn alle Dateien gespeichert sind, wird das erste Mal, wenn Sie 'Point' in einer anderen Datei verwenden, keine automatische Vervollständigung durchgeführt. Beim zweiten Mal, wenn Sie 'Point' verwenden, wird automatisch vervollständigt. – vacawama

+0

@vacawama Mm. In einem neuen Projekt kann ich es wie in meiner Antwort reproduzieren, und ich kann es nicht wie in deinem Kommentar reproduzieren. Das ist so seltsam. : P – Moritz

+0

Ich verwende Xcode Version 7.2 (7C68). Ich habe "Point" als "struct" in einer Datei namens "Point.swift" definiert. Hast du etwas anders gemacht? – vacawama

3

Dies scheint nur ein Fehler in Xcode zu sein. Wenn Sie eine Instanz zum ersten Mal in einer anderen Datei verwenden, stellt Xcode die automatische Vervollständigung nicht zur Verfügung. Aber das zweite Mal, wenn Sie es verwenden, tut es.

Hier ist eine Demo des seltsamen Verhaltens, das ich sehe. Auch bei der Point.swift-Datei gespeichert, das erste Mal, ich Point in ViewController.swift es nicht automatisch vervollständigt, aber das zweite Mal, es tut:

Demo of strange autocomplete behavior

Dies ist mit Xcode 7.2.

+0

ist es ein Fehler in Xcode? – Alex

+0

Ich sehe das gleiche Verhalten in Xcode 7.3beta. – vacawama

+0

Ich habe versucht, 'Point' in einer anderen Methode zu verwenden, nachdem es in 'viewDidLoad' verwendet wurde und es nicht automatisch vervollständigt wurde. Es scheint nur zu funktionieren, wenn Sie es bereits einmal in der gleichen Methode verwendet haben. – vacawama

Verwandte Themen