2016-09-16 4 views
2

그냥 Swift 3으로 업그레이드하십시오. 내 코드를 열고 변환 한 후에 많은 오류가 발견되었습니다. 그 중 하나는 CNLabeledValue입니다. 스위프트 3스위프트 3 : 매개 변수로 CNLabeledValue

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

, 그것은 나에게 오류 메시지를 제공합니다 : 제네릭 형식 'CNLabeledValue'에

참조 <에 인수가 필요 스위프트 2.3

, 그것은 잘 작동합니다. ..>. 내가 엑스 코드로 고정 후

, 그것은 변경 : 그러나

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

, 엑스 코드는 나에게이 수정과 오류 메시지를 제공합니다 :

'AnyObject는'프로토콜을 준수하지 않는 유형 'NSCopying'.

제네릭 형식으로 인해 오류가 발생하지만 나는 CNLabeledValue으로 신고하는 방법을 알지 못합니다. 제 목적은 전화 번호, 이메일, 주소 등을 포함하는 CNLabeledValue을 모두 하나의 배열에 저장하는 것입니다.

도움이 될 것입니다.

답변

2

사용 제네릭

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