Thanks, var toExcludeOrCopy : AnyObject?
Could help me on some cases... But if I try this: var props = [AnyObject]() props += contact.phoneNumbers ( "contact" is as CNContact, so "contact.phoneNumbers" is [CNLabeledValue<CNPhoneNumber>] ) I get this error: /Users/laullon/xcode/bipo/BiPo/MergePreview.swift:82:21: Cannot convert value of type '[AnyObject]' to expected argument type 'inout _' With: props.append(contentsOf: contact.phoneNumbers) I get this error: /Users/laullon/xcode/bipo/BiPo/MergePreview.swift:83:33: Extraneous argument label 'contentsOf:' in call Any Idea? Germán Laullón On Tue, Jan 10, 2017 at 12:36 AM, Hooman Mehr <hoo...@mac.com> wrote: > Ouch! > > This is a side effect of ObjC lightweight generics being imported as Swift > generics in Swift 3.0. > > Since there is no common superclass that satisfies NSCopying & > NSSecureCoding and the fact that NSSecureCoding has static requirements > means you can’t do it (at least without hacks such as extending NSObject to > conform to both protocols or creating a wrapper class and creating a > non-generic subclass of CNLabeledValue and using it instead). > > For now, you have to use > > var toExcludeOrCopy : AnyObject? > > This is worthy of a bug report and points to a serious issue: The > “limitations” that result from importing ObjC lightweight generics as Swift > generics. One possible solution can be implementation of “Enhanced > Existentials > <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170102/029919.html> > ”. > > > On Jan 9, 2017, at 11:23 AM, German Laullon via swift-users < > swift-users@swift.org> wrote: > > Hi All > > I just upgrade to Swift 3. After open and convert my codes I found lots of > errors. One of them is about CNLabeledValue. > > With Swift 2.3, it works well with: > > var toExcludeOrCopy : CNLabeledValue? > > With Swift 3, it gives me the error message: > Reference to generic type 'CNLabeledValue' requires arguments in <...>. > > After I fixed it with XCode, it changed to: > var toExcludeOrCopy : CNLabeledValue<AnyObject>? > > However, Xcode gives me error message with this fix: > Type 'AnyObject' does not conform to protocol 'NSCopying'. > > I know the error is because of the generic type but I don't know how to > declare with CNLabeledValue. My purpose is to store any the CNLabeledValue > including phone number, email, address etc to one var. > Any help will be appreciate. > > Germán Laullón > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users