2016-07-12 9 views
6

Dies ist eher ein Ärgernis und ein kosmetisches Problem als alles andere, aber es gibt einige Konsistenzprobleme bei der automatischen Vervollständigung in Xcode. Ich würde sehr schätzen, wenn jemand eine Lösung dafür hat .Verhindern, dass Protokollmethoden bei der automatischen Vervollständigung zweimal angezeigt werden


Betrachten wir ein Protokoll MyProtocol, die eine Eigenschaft und eine Methode hat:

public protocol MyProtocol { 
    var variable: String { get } 
    func method() 
} 

Und eine Klasse A die MyProtocol die Anforderungen, um das Protokoll zu entsprechen annimmt und umsetzt:

public class A { ... } 

extension A: MyProtocol { 
    public var variable: String { get { return "String from A." } } 

    public func method() { 
     print("Method called.") 
    } 
} 

Das Problem:

Wenn die Mitglieder einer Instanz von A Zugriff zeigen Protokoll Methoden zweimal auf, während Eigenschaften nur einmal auftauchen:

Wenn alles in Code dokumentiert ist, wird deutlich, dass die Protokolleigenschaften werden ausgeblendet, während Protokollmethoden in Autocomplete sichtbar bleiben. Gleiches gilt für Standardimplementierungen von Protokollmethoden - immer noch sichtbar.

Eine andere Sache, die dieses Problem noch spezieller macht, ist, dass wenn eine Instanz von z.B. A in der gleichen Datei erstellt wird, in dem die Klasse deklariert ist, und dass die Mitglieder der Instanz als auch innerhalb der gleichen Datei zugegriffen wird, dann verschwindet das Protokollverfahren aus dem automatischen Vervollständigung:

Aber, wenn die gleiche Instanz (das jetzt im globalen Gültigkeitsbereich ist) wird aus einer anderen Datei aufgerufen, die Protokollmethode erscheint wieder in Autocomplete.

Meine Frage ist also: weiß jemand, wie man die doppelten Protokollmethoden von der automatischen Vervollständigung verbirgt?


Versionen:

Xcode: 7.3 (7D175)

Swift: 2.2

Antwort

5

Dies scheint ein Fehler zu sein. rdar://21701167 wurde letztes Jahr eingereicht.

Es könnte verursacht werden durch:

  • Duplikate stammen aus Xcode Dokument Updates

  • Duplikate von 3rd-Party-Xcode Dokument Plugins

  • Installation zwei Versionen von Xcode Side-by-Side

Es ist ein Nyone rät wirklich. Es ist irgendwie nervig. Manchmal bekomme ich 3 oder 4 Duplikate.Ich verwende zwei Versionen von Xcode und ich benutzte ein 3rd-Party-Dokument-Plugin.

+0

Vielen Dank für Ihre Eingabe! Dieses Problem kann unter denselben Fehler fallen, aber das Verhalten scheint unberechenbarer als das im Fehlerbericht beschriebene Problem. Ich habe keine zwei Versionen von Xcode, ich verwende keine Beta-Version und mein Problem erscheint nicht im privaten Bereich. – xoudini