Schnell .. Ich habe diesen Code, um neuen Kontakt hinzuzufügen, es funktionierte bis zur Umwandlung meines Codes in Swift 3, jetzt akzeptiert es alle Eigenschaften außer der E-Mail, die ich zwei Fehler erhalte:
1-Argumenttyp 'String?' entspricht nicht dem erwarteten Typ 'NSCopying'
2-Argumenttyp 'String?' entspricht nicht dem erwarteten Typ 'NSSecureCoding'
Dies ist mein Code, wenn ich versuche, dem Kontakt eine E-Mail hinzuzufügen:
%Vor%Hilfe?
In Swift 3 wird CNLabeledValue
wie folgt deklariert:
Sie müssen Swift veranlassen, die ValueType
abzuleiten, die mit NSCopying
und NSSecureCoding
übereinstimmt.
Leider stimmt String
oder String?
nicht mit beiden überein.
Und Swift 3 entfernte einige implizite Typkonvertierungen wie String
in NSString
, Sie müssen es explizit umwandeln.
Bitte versuchen Sie Folgendes:
%Vor%Oder das:
%Vor%(Vielleicht ist letzteres der bessere, du solltest keinen leeren Eintrag machen.)
Und noch eins, wie von Cesare vorgeschlagen, sollten Sie vordefinierte Konstanten wie CNLabel...
für Beschriftungen so weit wie möglich verwenden:
Swift 3 : E-Mail- und Telefoneintrag
Dokumentation : Ссылка
%Vor%Sie können die Methode CNContact mutableCopy
verwenden %Vor%