On Sep 11, 2013, at 10:52 PM, Dave <d...@looktowindward.com> wrote:

> 
> On 11 Sep 2013, at 14:22, Graham Cox <graham....@bigpond.com> wrote:
> 
>> 
>> On 11/09/2013, at 3:13 PM, Dave <d...@looktowindward.com> wrote:
>> 
>>> Yes, but it doesn't remember the last value of a notification, which is 
>>> what I would like.
>> []
>> 
>>> Yes, I am removing myself as a receiver, but ideally I want to receive 
>>> these notification even if the object is dead. By this I mean, I want the 
>>> last known value of the notification restored when the Object in question 
>>> starts up again. At present I have to save this somewhere ugly and restore 
>>> it from somewhere ugly. I just thought it would be nice to be able to just 
>>> make a call something like:
>>> 
>>> -(void) reissueLastNotificationName:@"Note1" forClass:self
>>> 
>>> Rather than save it somewhere ugly 26 more times!
>>> 
>>> I  could maybe subclass NSNotificationCenter?
>> 
>> 
>> There are a couple of statements here that don't make a huge amount of 
>> sense. What do you mean by "an object….starts up again"?
> 
> I mean when the object is created - at this point I want the latest version 
> of the Notification, not the Notification when the Object Died.
> 
>> Perhaps the problem is really that your object should not be being killed 
>> until the final notification has been received? That's a different problem.
> 
> No, there is no final notification, just one when the data associated with it 
> changes. 
> 
>> If you mean you want to save something between launches of your app so you 
>> can restore state, that's easily done by the sender of the notification. 
> 
> 
> No, I just want the latest version of the notification when the object is 
> created. Yes, I could save it at the sender, but I'd still have the problem 
> of restoring it when the object is created and wants to set itself to the 
> current state. Basically, when it is created I want it to fetch the latest 
> update and apply it to itself data at init time. I don't want to store the 
> old value.
> 
> Think like this:
> 
> Object has not been created………..
> Send Notification A
> Send Notification B
> Send Notification C
> Send Notification D
> Send Notification E
> Object is Created……….. Set Data from Notification E
> Send Notification F
> Object is Alive……….. Set Data from Notification F
> Send Notification G
> Object is Alive……….. Set Data from Notification G
> Object is deleted/released.
> Send Notification H
> Send Notification I
> Send Notification J
> Object is Created……….. Set Data from Notification J
> 
>> Basically, there isn't enough detail in your question to advise, and what 
>> you have given appears to smell a bit. "Reissuing" a notification sounds 
>> like a band-aid for a problem that should be solved some other way, to me. 
>> Subclassing NSNotificationCenter is presumably possible, but sounds like the 
>> wrong way to do whatever it is you are really trying to do.
> 
> I want the above, I thought subclassing NSNotificationCenter and adding a 
> memory would be quite a neat way of doing it - 27 times.
> 
> All the Best
> Dave

Sounds like all you really want is to save some state, specifically a 
notification state.

You just ivar/property/object somewhere that keeps track of the last sent 
Notification.
Put it in the most accessible place to each of the observer objects.
It could simply be a property class NSNotification and it will have everything 
it had before.
Just keeps a reference.
Update the reference as new notifications come.

To do that, you also need an object that is the notification nanny/monitor 
which watches and tracks the most recent one.
The nanny/monitor can be both an observer of the same notifications, and either 
keep a reference to the latest one, or set a reference elsewhere.

Should be a simple enough method to add to the instantiation of your object to 
look to the reference to the last notification and use it for setup.



_______________________________________________

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

Reply via email to