[swift-users] Encoding an array of tuples with a NSCoder

Philippe Hausler phausler at apple.com
Thu Sep 22 16:27:52 CDT 2016


err sorry mistype it should have read tuples or structs

> On Sep 22, 2016, at 2:27 PM, Philippe Hausler via swift-users <swift-users at swift.org> wrote:
> 
> NSCoding has never worked with either tuples or classes correctly (primarily because it is not really designed to do so). I would suggest to encode and decode either as an array of array of strings and convert or perhaps encode/decode as an array of classes representing the meaning of the tuple.
> 
>> On Sep 22, 2016, at 2:07 PM, Saagar Jha via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>> 
>> Hello,
>> 
>> I’ve been working on migrating some old code over to Swift 3, and I’m having some trouble archiving an array of tuples:
>> 
>> class Foo: NSObject, NSCoding {
>> 	var bar: [(string1: String, string2: String)]
>> 
>> 	required init?(coder aDecoder: NSCoder) {
>> 		bar = aDecoder.decodeObject(forKey: “bar”) as? [(string1: String, string2: String)] ?? []
>> 	}
>> 
>> 	func encode(with aCoder: NSCoder) {
>> 		aCoder.encode(bar, forKey: “bar”) // crash
>> 	}
>> }
>> 
>> Unfortunately, this code doesn’t seem to work anymore. Is there any way to get a array of tuple encoded without resorting to creating a struct or class in its place?
>> 
>> Thanks,
>> Saagar Jha
>> 
>> 
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160922/5c4f2950/attachment.html>


More information about the swift-users mailing list