Search code examples
swiftnsobjectcontroller

NSObjectController in object mode in Swift


How do I configure an NSObjectController in object mode in Swift?

Let's say I have a class A:

class A {}

Here's what I have tried:

let oc = NSObjectController()
oc.objectClass = A.self
oc.newObject() // error

The last line produces an error:

Unrecognized selector -[Test.A init]

What am I doing wrong?


Solution

  • Your class needs to inherit from NSObject.

    This works for me:

    class A: NSObject {}
    
    let oc = NSObjectController()
    oc.objectClass = A.self
    let o = oc.newObject()