2016-01-30 4 views
6

sto definendo una struct come questo nel Point.swift all'interno del mio file Xcode progetto:Xcode non completamento automatico inizializzatore membro a membro di una struttura

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

Se sto cercando di init struct Point da un altro file , Xcode non completa automaticamente l'inizializzatore memberwise. Anche se sono stato riavviato la macchina come suggeriscono alcuni amici.

screenshot

MA completamento automatico funziona bene, se io sto definendo l'inizializzazione di una nuova istanza nello stesso file o di un parco giochi.

screenshot

Delle idee come risolvere questo problema il completamento automatico?

+0

Questo è strano. Notare che la seconda volta che si utilizza 'Point' nel nuovo file verrà eseguito automaticamente. – vacawama

risposta

3

Salva i tuoi file.

Xcode completerà automaticamente in modo corretto una volta che hai salvato Point.swift

So che sembra strano, ma anche se Xcode riconosce la struct e consente la colorazione della sintassi correttamente durante la modifica dei file, ancora non completamente completamento automatico fino a quando il file di origine della struct non viene definitivamente salvato (l'icona del file cambierà il suo colore di sfondo).

Ho avuto questo comportamento in passato, e sono stato in grado di riprodurlo in un progetto di esempio.

+0

Ho pensato la stessa cosa. Ma non è questo. Anche con tutti i file salvati, la prima volta che si usa 'Point' in un altro file, non si completa automaticamente. La seconda volta che si usa 'Point' si completa automaticamente. – vacawama

+0

@vacawama Mm. In un nuovo progetto posso riprodurlo come nella mia risposta, e non posso riprodurlo come nel tuo commento. Questo è così strano. : P – Moritz

+0

Sto usando Xcode versione 7.2 (7C68). Ho definito 'Point' come' struct' in un file chiamato 'Point.swift'. Hai fatto qualcosa di diverso? – vacawama

3

Questo sembra essere un bug in Xcode. La prima volta che si utilizza un'istanza in un altro file, Xcode non fornisce il completamento automatico. Ma, la seconda volta che lo usi, lo fa.

Ecco una demo dello strano comportamento che sto vedendo. Anche con il file salvato Point.swift, la prima volta che uso Point in ViewController.swift non autocompletamento, ma la seconda volta lo fa:

Demo of strange autocomplete behavior

Questo è con Xcode 7.2.

+0

si tratta di un bug in Xcode? – Alex

+0

Vedo lo stesso identico comportamento in Xcode 7.3beta. – vacawama

+0

Ho provato a usare 'Point' in un altro metodo dopo averlo usato in' viewDidLoad' e non si è completato automaticamente. Sembra funzionare solo se lo hai già usato una volta con lo stesso metodo. – vacawama

Problemi correlati