5

I'm trying to implement a NSValue Transformer, which should help me to save a Double Array into Core Data using a Transformable attribute.

So I tried to implement the transformedValueClass. But NSArray.class() is crossed out. Unfortunately I didn't find a reason for this.

My method looks like this:

class PacePerK:NSValueTransformer{
    class func transformedValueClass() -> AnyClass!
    {
        return NSArray.class()
    }
}

I get the following compiler errors: Expected member name following '.' Expected identifier in class declaration

Unfortunately they don't really help me.

Why is the NSArray.class crossed out? How can I return the class of NSArray without causing a compiler error?

pkamb
  • 33,281
  • 23
  • 160
  • 191
rohx
  • 73
  • 5

1 Answers1

5

It appears the correct why to reference class objects in Swift is with:

NSArray.self

Also, in your example, you’ll need to mark your transformedValueClass function with “override”. So:

class PacePerK:NSValueTransformer{
    override class func transformedValueClass() -> AnyClass!
    {
        return NSArray.self
    }
}
joshstaiger
  • 1,239
  • 1
  • 8
  • 4