Defina la estructura que se trata como una clase en Swift

En Swift aString la estructura también se trata como un objeto de clase como cuando se usa elNSCoder encodeObject(_:forKey:) método. Yo se queString se conecta directamente con la clase objetivo-c,NSString, pero ¿hay alguna manera de hacer una costumbrestruct que se comporta de manera similar? ¿Quizás unirlo a una clase personalizada? Quiero poder hacer algo como esto:

struct SortedArray <Value: Comparable> {}

// Would I need to create a bridge between 
// SortedArray and NSSortedArray? Can I even do that?
class NSSortedArray <Value: Comparable> : NSObject, NSCoding {
    required init?(coder aDecoder: NSCoder) {}
    func encodeWithCoder(aCoder: NSCoder) {}
}

class MyClass : NSObject, NSCoding {
    private var objects: SortedArray<String> = SortedArray<String>()
    required init?(coder aDecoder: NSCoder) {
        guard let objects = aDecoder.decodeObjectForKey("objects") as? SortedArray<String> else { return nil }
        self.objects = objects
    }
    func encodeWithCoder(aCoder: NSCoder) {
        aCoder.encodeObject(objects, forKey: "objects")
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta