Re: More Swift issues, NSURLComponents
Re: More Swift issues, NSURLComponents
- Subject: Re: More Swift issues, NSURLComponents
- From: Rick Mann <email@hidden>
- Date: Mon, 12 Oct 2015 14:00:01 -0700
> On Oct 5, 2015, at 19:19 , Jens Alfke <email@hidden> wrote:
>
>
>> On Oct 5, 2015, at 6:59 PM, Rick Mann <email@hidden> wrote:
>>
>> Huh. I continue to be bothered by the ambiguity/variability of "let"*. Is the reference immutable or the thing it points to?
>
> A variable (var or let) doesn’t “point to” a struct. It _contains_ the struct. I.e. it’s a value, not a reference.
>
> It’s just like in C or C++, really. Given a struct Foo,
> const Foo x; // a value: x is immutable; you can’t change its fields
> Foo* const x; // a reference: the variable x can’t be changed, but the Foo it points to can
>
> The thing Swift doesn’t have that C/C++ do is
> const Foo *x; // the Foo can’t be changed through this reference (though the value of x can)
> The reason this was left out is probably that it doesn’t fit at all with Objective-C and the Cocoa frameworks, which have no concept of a constant reference to an NSObject.
In all this discussion, I forgot to bring up the containers: are they special? A "let" container can't be reassigned, nor can its contents be changed. How is this implemented?
--
Rick Mann
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