[swift-corelibs-dev] NSCoding methods
Luke Howard
lukeh at padl.com
Sat Dec 26 03:35:16 CST 2015
Thanks - also the encodeValueOfObjCType methods could have a nicer interface (make the type an enum of Character, take Any instead of an unsafe pointer)...
Sent from my iPhone
> On 26 Dec 2015, at 05:46, Philippe Hausler <phausler at apple.com> wrote:
>
> Likely we will have to change that signature to instead of being NSSet and Set<NSObject> respectively to be more compatible; however this will be an API change. It might be good to mock up a swift translation layer for these APIs to simulate what it would be like on Darwin if we altered these to be renamed in swift and presented with a better interface via the SDK overlays. Note: this will have to go through our evolution proposal system and be weighed in by the component owners of NSKeyedArchiver and the API teams associated with that to make such a change.
>
> In my opinion since AnyClass should be unique it by nature should be Hashable - however I am not certain we can actually do that without language changes.
>
> Perhaps for the time being we could alter the signatures to be:
>
> public func decodeObjectOfClasses(classes: [AnyClass], forKey key: String) -> AnyObject?
>
> public var allowedClasses: [AnyClass]?
>
>
>> On Dec 25, 2015, at 2:01 AM, Luke Howard via swift-corelibs-dev <swift-corelibs-dev at swift.org> wrote:
>>
>> Looking at decodeObjectOfClasses/allowedClasses – what is the element type in the set of allowed classes? It seems like it should be AnyClass but that can’t be added to a Set because it doesn’t implement Hashable (nor to an NSSet because the initialiser unconditionally casts to NSObject).
>>
>> — Luke
>> _______________________________________________
>> swift-corelibs-dev mailing list
>> swift-corelibs-dev at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20151226/07049b88/attachment.html>
More information about the swift-corelibs-dev
mailing list