On Feb 21, 2016, at 2:30 PM, Motti Shneor <su...@bezeqint.net> wrote: > > I simply want an NSTextField (Label) in one of my windows, to display the > “short version string” which is in the App Bundle’s info-plist, at the > “CFShortVersionString”. I hoped to do this via binding in my .xib - directly > against the Application object, or any other always-available controller. > > Now this is NOT in the userDefaults, so I can’t bind to > NSUserDefaultsController. This is also not in the NSAppliction or its > delegate. I only know to retrieve this value using the NSBundle API - > > [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName”] > > but that’s hardly bind-able, and NSBundle isn’t a controller per se. > > I must be missing something very simple and stupid. > > Hint anyone?
First, bindings are not always the best approach to solve any particular problem. They can be useful, but when you run up against an area where the bindings approach seems excessively difficult, you should consider going the non-bindings route. For example, in the view controller or window controller, you would have an outlet to the text field (say, "versionLabel"). In the controller's -viewDidLoad or -windowDidLoad method, you would simply do: self.versionLabel.stringValue = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString”]; If you really want to use bindings, then you could create a read-only property on your view controller or window controller class. You would implement its getter to return the above value: @property (readonly, nonatomic) NSString* mainBundleShortVersion; - (NSString*) mainBundleShortVersion { return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString”]; } Once you've created such a property, you can bind to it. Regards, Ken _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com