Re: Array of Dictionaries as .userInfo
Re: Array of Dictionaries as .userInfo
- Subject: Re: Array of Dictionaries as .userInfo
- From: Clark Cox <email@hidden>
- Date: Tue, 26 Jan 2016 07:37:07 -0800
The notification’s userInfo *must* be a dictionary, trying to force it to be something else is just asking for trouble. You could create a dictionary that contains your array of dictionaries if you want to be able to pass it through an NSNotification.
That said, IMHO, this use of notifications has a little bit of code smell. Ideally, I would expect a notification to tell the control to reload/refresh/relayout itself by asking an appropriate delegate or controller for the data it needs (rather than getting the data out of the notification itself). It helps to have a strictly defined path that your data can follow; if it’s in an NSNotification, it could potentially have come from *anywhere*
--
Clark Smith Cox III
email@hidden
> On Jan 26, 2016, at 07:12, Eric E. Dolecki <email@hidden> wrote:
>
> I have a control which takes an array of dictionaries to construct it's UI
> (as a distinct method).
>
> Now I'd like to add a notification to supply the data as well. I'd like to
> pass the data as userInfo.
>
> When constructing the observer method, how do I constuct?
>
> func weHaveData(notification:NSNoticiation){
> let dict = notification.userInfo as Array<Dictionary<String,String>>
> control.loadData(dict)
> }
>
> *Can't convert value of type [NSObject:AnyObject]? to
> Array<Dictionary<String,String>> in coercion*
>
> I've tried without the cast. Is there an easy work around?
> _______________________________________________
>
> 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
_______________________________________________
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