• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: KVO question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: KVO question


  • Subject: Re: KVO question
  • From: Roland King <email@hidden>
  • Date: Thu, 19 Nov 2015 08:29:08 +0800

> On 19 Nov 2015, at 08:15, Quincey Morris <email@hidden> wrote:
>
> On Nov 18, 2015, at 14:35 , Graham Cox <email@hidden> wrote:
>>
>> it’s just that if other code changes the attributes dictionary (such as the Font Manager) then I need these split out properties to trigger their notifications so that the UI shows the change
>
> I think I understand, finally. No, what you’re doing won’t work.
>
> The problem is that if (say) the Font Manager has a pointer to your NSMutableDictionary object, and mutates it — sets a new value for a key — there *will* be a KVO notification** — I believe we know that the standard NSMutableDictionary class issues KVO notifications for value changes, though I’m not sure whether it’s documented — but it won’t be a notification for the dictionary***, it will be a notification for the individual key.
>

I didn’t read his original question as saying that however, that he was mutating an individual element of a mutable dictionary property. Grabbing what was written

> So what I want (expect?) is that is code sets -dictionaryOfThings directly, an observer of ‘thingy’ will be triggered. Is that right?


which when you look at it doesn’t quite make sense, -dictionaryOfThings is a method so you can’t set it so I assumed it meant replacing the whole dictionary like so

	myObject.dictionaryOfThings = newDictionaryOfNewThings;

or calling

	[ myObject setDictionaryOfThings:newDictionaryOfNewThings ];

then the original dependent KVO code as-written should fire, for every property which has dictionaryOfThings as a dependent key.

A bit of clarification about what was meant by ‘code setting -dictionaryOfThings directly’ might help.


_______________________________________________

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


  • Follow-Ups:
    • Re: KVO question
      • From: Quincey Morris <email@hidden>
References: 
 >KVO question (From: Graham Cox <email@hidden>)
 >Re: KVO question (From: Quincey Morris <email@hidden>)
 >Re: KVO question (From: Graham Cox <email@hidden>)
 >Re: KVO question (From: Quincey Morris <email@hidden>)

  • Prev by Date: Re: KVO question
  • Next by Date: Re: KVO question
  • Previous by thread: Re: KVO question
  • Next by thread: Re: KVO question
  • Index(es):
    • Date
    • Thread