Hi Jens,

On Tue, Sep 8, 2009 at 4:24 PM, Jens Alfke <j...@mooseyard.com> wrote:

>
> On Sep 8, 2009, at 4:13 PM, Sidney San Martín wrote:
>
>  "Because this method is automatically invoked at periodic intervals, use
>> this method only if you cannot wait for the automatic synchronization (for
>> example, if your application is about to exit)"
>>
>
> To my knowledge that's always been incorrect — the only time NSUserDefaults
> synchronizes automatically is upon quit. The app can change a default, stay
> running for days, then crash; and the default won't have been written to
> disk so the change is lost. So I've always ended up calling -synchronize
> myself, either immediately or using a perform-after-delay.


No, it does actually behave as documented.  In 10.6 I know it syncs after 15
seconds.

I cannot find the bug where it was added, but it's been true since at least
10.5.

Will NSUserDefaults ever synchronize itself itself in an app without an
> NSApplication? If so, when and how? If not, the docs need to be ammended.


Yes, it's NSTimer based.  Your app must be running the run loop for the
synchronization to occur.

-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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to