2016-03-23 15 views
49

Dopo l'aggiornamento Xcode a 7,3, ho appena scoperto che alcuni moduli sono colpiti fuori durante l'importazione, come in questo screenshot:Xcode 7.3: import modulo visualizzato con barrato

Ma dopo l'aggiunta del modulo (in modo basta premere immettere) tutto è a posto. Cosa significa? Il modulo qui è scritto in Swift e funziona bene.

+0

Sì! lo stesso che ho ottenuto quando stavo importando il modulo ** CoraData ** – swiftBoy

+0

Sì, e anche MapKit. – derdida

+0

'CoreData' non viene colpito per me, ma altri come' ClockKit' e 'CoreLocation' sono. –

risposta

37

Questo è un bug. Lo abbiamo corretto in 218010af, che dovrebbe essere incluso nella versione di Swift 2.2.1 ed è incluso nello 2016-04-12-a developer snapshot.

+7

"Questo è un bug che è stato risolto nella versione X" è una risposta - ma questa risposta non lo fa cito la versione, quindi non è molto utile per i futuri lettori. –

+1

È ancora una risposta, se è ora chiaro che è solo un bug, già segnalato e sperabilmente risolto nella prossima versione. – derdida

+1

@JeffreyBosboom aggiornato. L'ID commit sarebbe già associato implicitamente a una versione, ma l'ho chiamato esplicitamente per chiarezza. –

19

Il barrato si verifica se si tenta di importare un modulo che è già stato importato da file o modulo:

import

In questo caso, ho già importato Foundation (che importa implicitamente CoreFoundation), quindi Xcode ti sta dicendo che non è necessario importare nuovamente alcun modulo.

+1

Mentre Xcode si comporta correttamente nel tuo caso, dove hai intenzionalmente duplicato il modulo 'import', comportamento scorretto spiegato in [questa domanda] (http://stackoverflow.com/q/35671637/1492173) è ancora il caso. Il modulo doveva essere importato ma visualizzato nel carattere barrato. –

+0

@EugeneDubinin ragione, è per questo che ho detto che era potenzialmente un possibile duplicato, non per sicuro -100% di duplicato. – JAL

+0

Se il cane classe è una sottoclasse della classe Animale e l'animale ha importato per es. Alamofire, quindi importa Alamofire in Dog Alamofire, ottiene anche un barrato rosso. Ma è fuorviante, dal momento che le sottoclassi non possono usare le importazioni della sua superclasse, quindi immagino che questo sia un bug ... – Sajjon

0

Ho cambiato l'ordine delle importazioni

import Foundation 
import UIKit 
import LayerKit 
import Atlas < red line 


import Foundation 
import UIKit 
import Atlas 
import LayerKit 

Alcuni note che possono causare esso:

  • LayerKit importare Atlas anche se LayerKit rappresenta l'API livello inferiore Atlas è strato UI

  • Entrambi erano importazioni Cocoapod

  • Errore visualizzato quando ho creato un secondo schema per App Store/Enteprise e ne ho pulito uno e passaggio all'altro.

  • Eliminazione derivata Dati non cancellati.
  • Così provato a riordinarli e la linea rossa è scomparsa
Problemi correlati