Re: observeValueForKeyPath:... called too often in macOS 12
Re: observeValueForKeyPath:... called too often in macOS 12
- Subject: Re: observeValueForKeyPath:... called too often in macOS 12
- From: "Gary L. Wade" <email@hidden>
- Date: Tue, 18 Oct 2016 19:55:33 -0700
I have a thought. Do you have a binding somewhere on a property in NSUserDefaults? Maybe your document is getting synchronized to iCloud and/or getting autosaved very often? These are things I’ve seen that can cause uncharacteristically often updates.
--
Gary L. Wade
http://www.garywade.com/ <http://www.garywade.com/>
> On Oct 18, 2016, at 7:32 PM, Gerriet M. Denkmann <email@hidden> wrote:
>
>
>> On 19 Oct 2016, at 02:00,Jerome Krinock <email@hidden>:
>>
>>> On 2016 Oct 14, at 23:08, Gerriet M. Denkmann <email@hidden> wrote:
>>>
>>> My app (macOS 12) observes a value in NSUserDefaults. Starting with macOS 12 observeValueForKeyPath:… is called at the start of the program, although nothing has changed yet. When the value actually changes, it is called twice.
>>
>> I just added some code to one of my apps, to test this. It confirmed your observations, although I only tested in 10.12.
>>
>>> Also: NSKeyValueObservingOptionNew or NSKeyValueObservingOptionOld just return NSNull instead of old or new values.
>>
>> That only happens during that first spurious call, when the observer is added.
>
> Happens for me all the time. Never seen anything other than NSNull.
>
> Current work-around: just ignore every second notification (i.e. ginore 1., 3rd, 5th etc.).
> Not a very good solution, rather bound to break sooner or later. But okay for the time being.
>
>>
>>> If indeed this behavior is new in 10.12, it certainly warrants a Bug Report.
>
> Ok, will do so.
>
> Kind regards,
>
> Gerriet.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden