Use NSStringFromRect() and NSRectFromString() to convert to/from a string to store in the defaults. However, it might be easier to set frameAutosaveName and let the window save and restore the frame itself. Just enter the key in the autosave attribute in Interface Builder and it should work.
Aaron On Apr 28, 2011, at 4:50 AM, Vyacheslav Karamov wrote: > Hi All! > > I need to save main window size and position to user defaults: > > NSValue * rect = [NSValue valueWithRect: [[NSApp mainWindow] frame]]; > [[NSUserDefaults standardUserDefaults] setObject:rect forKey:@"MainWndFrame"]; > > but console output is: > > 2011-04-28 11:45:00.139 UserDefaults[32801:a0f] *** -[NSUserDefaults > setObject:forKey:]: Attempt to insert non-property value 'NSRect: {{525, > 701}, {303, 99}}' of class 'NSConcreteValue'. > _______________________________________________ > > 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: > http://lists.apple.com/mailman/options/cocoa-dev/aaron.burghardt%40gmail.com > > This email sent to aaron.burgha...@gmail.com _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com