Oh, it's a computed property! Got it, I thought you meant its value was computed in the init and never changed again.
Sent from my iPhone > On Aug 2, 2016, at 19:01, Rick Mann <rm...@latencyzero.com> wrote: > > It complains if I make it a let because computed properties must be var. > Because it's a protocol, it can't be stored (even though it can be stored in > the conforming type). > > If I make it { get }, I can't set it in the extensions init() method. > > I guess I could make it private set (not sure of the syntax for that), but it > still doesn't have let semantics. > >> On Aug 2, 2016, at 16:28 , David Sweeris <daveswee...@mac.com> wrote: >> >> If I understand things correctly, you *can* make uuid a let because you’re >> allowed to set them (once) during init functions. >> >> - Dave Sweeris >> >>> On Aug 2, 2016, at 6:22 PM, Rick Mann via swift-users >>> <swift-users@swift.org> wrote: >>> >>> I'm trying to define a protocol that has a read-only, immutable member >>> "uuid" that can be set in the init() method, but I'm having trouble. I have >>> this: >>> >>> protocol >>> Element >>> { >>> var uuid : { get } >>> } >>> >>> extension >>> Element >>> { >>> init(...) >>> { >>> self.uuid = ... >>> } >>> } >>> >>> I can't make it let, because they're computed. >>> >>> I'm realizing from other stuff that I really can't have the init(...) >>> method in the extension, anyway. But I'd really like to be able to specify >>> a let member in the protocol. What's the best way to have that effect? >>> >>> In my semantics, an Element has a uniquely-assigned uuid. It might be >>> generated when the object is instantiated, or it might be deserialized from >>> disk, but once that's done, it can never change. How do I express that? >>> >>> Thanks, >>> >>> -- >>> Rick Mann >>> rm...@latencyzero.com >>> >>> >>> _______________________________________________ >>> swift-users mailing list >>> swift-users@swift.org >>> https://lists.swift.org/mailman/listinfo/swift-users > > > -- > Rick Mann > rm...@latencyzero.com > > _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users