die Verwirrung in Bezug auf klären, was der Fehler ist,
NSNumber ruft NSNumber.init(value: X)
Methode zu instanziiert ein NSNumber-Objekt
„Argument Etiketten (_:)
'passen nicht alle verfügbaren Überlastungen“
Der Code, der den Fehler erzeugt, da NSNumber kein Typ ist vielmehr ist es eine Klasse mit den Mitgliedern. "NSNumber(...)"
instanziiert ein Klassenobjekt, das den Wert 'Wert' von (1.0/1.29)
enthält.
Dies ist keine Typumwandlung oder Umwandlung wie in C/C++. wo Sie versuchen, Besetzung der Typ, damit der Compiler seine Arbeit machen kann.
float y = 1.3;
int x = int(y);
NSNumber ist kein Typ wie int, float, char
Der Fehler kommt ins Spiel, weil es mehrere Möglichkeiten gibt, NSNumber.init(value: type)
zu nennen
Swift wird verlangt, dass Sie ausdrücklich sagen, dass Sie den ‚Wert‘ Mitglied wollen der NSNumber, um den Wert x zu enthalten.
let localRate = NSNumber(1.0/1.29)
var y = NSNumber(0)
var b = NSNumber(false)
let localRate = NSNumber(value: 1.0/1.29)
var y = NSNumber(value: 0)
var b = NSNumber(value: false)
Die Verwirrung könnte ins Spiel kommen, weil dies funktioniert.
w = String("4")
Die Klasse String, nicht das Argument Etikett benötigen, während NSNumber ein Argument Label erfordert 'Wert:'
Vielleicht ist dies darauf zurückzuführen, wie IOS behandelt NSNumber wie aus Legacy kommt?
Danke, benötigte NSNummer (Wert: self) –
Glücklich, Ihnen zu helfen ..:) –
Großartig, dass das funktioniert, aber ohne eine Erklärung, warum es das Problem löst, ist es nicht sehr hilfreich. – Jim