2016-09-16 12 views
2

Swift 3にアップグレードするだけです。オープンしてコードを変換した後、多くのエラーが発生しました。それらの1つは約CNLabeledValueです。スウィフト2.3スイフト3:パラメータとしてCNLabeledValue

、それはでうまく動作:スウィフト3で

func myFunc(contactItems: [CNLabeledValue]) -> String { 
    .... 
} 

、それは私のエラーメッセージを表示します。ジェネリック型 'CNLabeledValue' へ

リファレンス <で引数が必要です。 ..>。

私はXCodeのとそれを固定した後、それがに変更:しかし、XCodeのは、私にこの修正とエラーメッセージが表示できます

func myFunc(contactItems: [CNLabeledValue<AnyObject>]) -> String { 
    .... 
} 

タイプ 'をANYOBJECT' プロトコルに準拠していません。 'NSCopying'。

私はエラーがジェネリックタイプのためだと知っていますが、私はCNLabeledValueで宣言する方法を知らないのです。私の目的は電話番号、電子メール、アドレスなどを含むすべてのCNLabeledValueを1つの配列に格納することです。

助けていただければ幸いです。

答えて

2

使用ジェネリック

func myFunc<T: NSCopying>(contactItems: [CNLabeledValue<T>]) -> String { 
    ... 
} 
関連する問題