AWF4vk
AWF4vk

Reputation: 5890

+exposeBinding not working

I'm trying to expose a custom binding in an subclass of an NSWindowController. I added the following code to the subclass:

+(void)initialize { [self exposeBinding:@"customBinding"]; }

Then, in IB, I have an object instance of my subclass. But, when I look at the bindings of the custom NSWindowController, I don't see the 'customBinding' exposed. Am I missing something?

Upvotes: 2

Views: 1000

Answers (2)

gcbrueckmann
gcbrueckmann

Reputation: 2453

These methods are for use in legacy Interface Builder plug-ins only. Xcode 4 doesn't officially support plug-ins. You have create these bindings in code using -bind:toObject:withKeyPath:options:. The “type whatever you like” part only applies to the key paths you bind to, not to the binding names themselves.

Upvotes: 3

jtbandes
jtbandes

Reputation: 118741

These are only if you're creating an IB palette/plugin. From Cocoa Bindings Programming Topics:

The other methods—the class method exposeBinding: and the instance methods exposedBindings and valueClassForBinding:—are useful only in an Interface Builder palette.

When setting up bindings, you can just type in whatever key paths you like; they don't have to be exposed in IB.

Upvotes: 0

Related Questions