So the other thing which came to my mind was similar to what you have
suggested:

a. Declare Displayable protocol with func display()
b. Let each Model implement this protocol
c. Within forEach on children I can just bind and typecast to the protocol
and invoke display method on it

However this looks like an ugly solution to me as Model is now serving 2
responsibilities - i. Handle/ Store data, ii. Handle how the data is
displayed. The 2nd responsibility looks to me like more reasonable for a
controller or presenter class to implement rather than the model class,
hence I want to avoid that path.

On Sun, Oct 27, 2019 at 7:55 PM Andrew Thompson <lordpi...@mac.com> wrote:

>
> > Is there any other elegant way to achieve the desired behavior without
> > using `if-let + typecasting`?
>
>
> One way is to use classes instead on structs and define display as a
> method on those classes. I’m no Swift  expert but I expect you may find
> value in making display() into a protocol.
>
>
> Andrew
>
>
>

-- 
Thanks,

Devarshi
_______________________________________________

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