Wie füge ich eine neue E-Mail zu CNMutableContact in Swift 3 hinzu?

8

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?

    
Zizoo 22.09.2016, 21:03
quelle

4 Antworten

21

In Swift 3 wird CNLabeledValue wie folgt deklariert:

%Vor%

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:

%Vor%     
OOPer 22.09.2016, 21:21
quelle
4

Swift 3 : E-Mail- und Telefoneintrag

Dokumentation : Ссылка

%Vor%     
9BallOnTheSnap 12.05.2017 03:24
quelle
0
%Vor%

Für Swift 3

    
BHAVIK PANCHAL 09.03.2017 07:43
quelle
-1

für Swift 3 und ios & gt; = 9.0

Sie können die Methode CNContact mutableCopy

verwenden %Vor%     
Dmitry Rybochkin 02.03.2017 20:55
quelle

Tags und Links