Nicht konvertieren kann der Wert des Typs '[String : AnyObject]?' erwartet Argumenttyp '[NSAttributedStringKey : Jede]?'
Wie konvertiert man die Werte des Typs '[String : AnyObject]?'
erwarteten Argumenttyp '[NSAttributedStringKey : Any]?'
?
open class func drawText(context: CGContext, text: String, point: CGPoint,
align: NSTextAlignment, attributes: [String : AnyObject]?)
{
var point = point
if align == .center
{
point.x -= text.size(withAttributes: attributes).width / 2.0
}
else if align == .right
{
point.x -= text.size(withAttributes: attributes).width
}
NSUIGraphicsPushContext(context)
(text as NSString).draw(at: point, withAttributes: attributes)
NSUIGraphicsPopContext()
}
InformationsquelleAutor Fawwad Ahmed | 2017-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein neues feature von Swift 4. Alle die Kakao-Methoden, die string-Identifikatoren und/oder Wörterbuch-Tasten haben jetzt Ihre eigene Typen für die Schlüssel. Der Grund dafür ist das hinzufügen von ein wenig Sicherheit geben—in der alten Regelung war es möglich, die zufälligerweise eine
String
ständige durch Fehler, dass wurde gedacht, um mit anderen API, aber jetzt in Swift 4, so führt dies zu einem Kompilierungsfehler.Ändern Sie Ihre Methode Signatur:
EDIT: Aktualisiert Swift 4.2!
NSAttributedStringKey
umbenannt wurde, umNSAttributedString.Key
.InformationsquelleAutor
Ihre
atrribute
argument ist falsch, in derdrawText
Funktion.Ändern
zu
InformationsquelleAutor
Dies ist das Charts-Modul. Ich lief in das gleiche problem.
Änderung der Methode argument behebt den Fehler in der Methode, sondern schiebt das problem bis zu der alle Aufrufe der Methode, die haben jetzt das gleiche Problem.
Gibt es eine schnelle Lösung, die nicht die änderung des gesamten call-stack?
InformationsquelleAutor