Wie fügen Sie neue E-Mail zu CNMutableContact in Swift 3?
Schnell .. ich habe diesen code auf neuen Kontakt hinzufügen , es wurde gearbeitet, bis die Konvertierung meiner code Swift 3 , jetzt ist es übernehmen Sie alle Eigenschaften mit Ausnahme der E-Mail bekomme ich zwei Fehler :
1-Argument-Typ 'String?' nicht den erwarteten Typ
'NSCopying'2-Argument-Typ 'String?' nicht den erwarteten Typ
'NSSecureCoding'
dies ist mein code, wenn ich versuche, um E-Mail zu Kontaktieren :
let workEmail = CNLabeledValue(label:"Work Email", value:emp.getEmail())
contact.emailAddresses = [workEmail]
Hilfe ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Swift 3,
CNLabeledValue
ist deklariert als:Müssen Sie schnell in der Lage zu schließen, die
ValueType
, entsprichtNSCopying
undNSSecureCoding
.Leider
String
oderString?
nicht entsprechen keiner von Ihnen.Und Swift 3 entfernt einige implizite Typ-Konvertierungen, wie
String
zuNSString
Sie brauchen, um Sie zu wirken ausdrücklich.Bitte versuchen Sie dies:
Oder so:
(Vielleicht ist die letztere ist die bessere, Sie sollten nicht zu einem leeren Eintrag).
Und eine weitere, wie vorgeschlagen, durch Cesare, würden Sie besser verwenden Sie vordefinierte Konstanten wie
CNLabel...
für Etiketten so weit wie möglich:CNLabelWork
statt "Work E-Mail", weil die ehemaligen lokalisiert ist, die in jeder SpracheSwift 3: E-Mail-und Telefon-Eintrag
Dokumentation: https://developer.apple.com/reference/contacts
Für Swift 3
für Swift 3 und ios >= 9.0
Können Sie Methode CNContact mutableCopy
CNLabeledValue
und er hat ein problem. Dein Beispiel bezieht sich nicht auf dieses problem in keiner Weise.