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