Fabrik Methoden in ObjC - das heißt, Klassenmethoden, die instancetype
(oder die tatsächliche Art der Klasse) und beginnen mit dem gemeinsamen Namen der Klasse zurückkehren - erhalten zu Swift importiert als Initialisierer.
So eine Methode +(instancetype)arrayWithSomething:
auf einer Klasse, deren Name Array
enthält, wird als init(something:)
importiert. In Ihrem Fall wird +arrayWithNSData:
als init(nsData:)
importiert werden. (Man könnte denken, es würde die „NS“ fallen, da es auch den Parametertyp Äquivalent von NSData
seinen Swift Wert Typ Foundation.Data
konvertieren werde ... aber es funktioniert nicht.)
Um dies zu finden und andere Importer-Effekte, Sie können das Ergebnis für sich selbst in Xcode sehen, indem Sie die Ansicht "Generated Interface" Ihrer Quelle betrachten. Klicken Sie auf die Schaltfläche für verwandte Elemente links neben der Sprungleiste oder den Assistenten.
Für weitere Details lesen Sie bitte über Initialization in Apples Verwendung von Swift mit Kakao und Objective-C doc.
Sind Sie sicher, dass es unsichtbar ist? Normale Importeurregeln würden dies in einen Initialisierer umwandeln - suchen Sie in der Ansicht "generierte Schnittstelle" von Xcode nach etwas wie "init (nsData:)". – rickster
@ Rickster, danke. Mein Fehler. – Vyacheslav
Keine Sorge ... konvertiert den Kommentar in eine Antwort, so dass es für andere hilfreicher ist. – rickster