Swift3 Swift 3:CNLabeledValue作为参数
升级到Swift 3即可。打开并转换代码后,我发现了很多错误。其中之一是关于Swift3 Swift 3:CNLabeledValue作为参数,swift3,Swift3,升级到Swift 3即可。打开并转换代码后,我发现了很多错误。其中之一是关于CNLabeledValue 使用Swift 2.3,它可以很好地与以下各项配合使用: func myFunc(contactItems: [CNLabeledValue]) -> String { .... } 对于Swift 3,它会给我错误信息: 对泛型类型“CNLabeledValue”的引用需要中的参数 我用XCode修复后,它变为: func myFunc(contactItems: [CN
CNLabeledValue
使用Swift 2.3,它可以很好地与以下各项配合使用:
func myFunc(contactItems: [CNLabeledValue]) -> String {
....
}
对于Swift 3,它会给我错误信息:
对泛型类型“CNLabeledValue”的引用需要中的参数
我用XCode修复后,它变为:
func myFunc(contactItems: [CNLabeledValue<AnyObject>]) -> String {
....
}
func myFunc(contactItems:[CNLabeledValue])->String{
....
}
但是,XCode向我提供了此修复程序的错误消息:
类型“AnyObject”不符合协议“NSCopying”
我知道错误是因为泛型类型,但我不知道如何使用CNLabeledValue
声明。我的目的是将所有CNLabeledValue
包括电话号码、电子邮件、地址等存储到一个数组中
任何帮助都将不胜感激。使用泛型
func myFunc<T: NSCopying>(contactItems: [CNLabeledValue<T>]) -> String {
...
}
func myFunc(contactItems:[CNLabeledValue])->String{
...
}