Maybe a default image is appropriate if the FooType is not set or is optional.
Sent from my iPhone > On Sep 16, 2015, at 12:14 PM, Jim Thomason <[email protected]> wrote: > > I'm doing some porting/updating work and came across an issue. > > I have two objects - which we'll call Foo and FooType. > > Every Foo must have a FooType, and every FooType is associated with > multiple Foos. > > The FooType also has an image associated with it, and the Foo uses that > image exclusively. > > So I added this: > > class Foo { > ... > var image : NSImage { get { return self.type.image } } > > } > > The problem is, this image value is used to populate a cell in a Source > Control List. When I add a new Foo, it's immediately added to the table. > And it pops up in there before a FooType is associated with it. > > That in turn means that the image getter tries to go through self.type, > which isn't defined yet. > > How do I fix this? I can't do self.type?.image or if let t = self.type, > because the type is declared as non-optional and I can't unwrap an optional > value. > > Presumably, I can just make the type optional, but it's not -really- > optional, since all Foos _must_ have a type before they're saved. It's a > mandatory relationship. > > Generalizing wildly, I can see this issue popping up with any relationship > - if you have a derived property that relies upon a relationship that may > not have been set yet, you'd fail with an error. So should all > relationships just be made optional to get around this? That seems like the > wrong approach. > > Any suggestions? > > -Jim.... > _______________________________________________ > > Cocoa-dev mailing list ([email protected]) > > 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/dangerwillrobinsondanger%40gmail.com > > This email sent to [email protected] _______________________________________________ Cocoa-dev mailing list ([email protected]) 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 [email protected]
