[swift-evolution] [Review #2] SE-0161: Smart KeyPaths: Better Key-Value Coding for Swift
Michael LeHew
lehewjr at apple.com
Thu Apr 6 09:54:22 CDT 2017
Ah! I will fix those. That is a find replace fail for #keyPath( -> \. Vs #keyPath\(.*\) -> \\\1
> On Apr 6, 2017, at 6:16 AM, Ricardo Parada via swift-evolution <swift-evolution at swift.org> wrote:
>
> I saw those too and forgot to point those out. I assumed they were typos.
>
>
>
>> On Apr 6, 2017, at 9:03 AM, Ed Wellbrook <edwellbrook at gmail.com> wrote:
>>
>> Apologies if I’ve simply just missed something, but are the trailing right parentheses in the proposed solution intentional? Reading through the code, having loosely followed this discussion, I’m really confused.
>>
>> Examples:
>>
>> ```
>> // create a key path and use it
>> let firstFriendsNameKeyPath = \Person.friends[0].name)
>> ^ this
>>
>> // optional properties work too
>> let bestFriendsNameKeyPath = \Person.bestFriend?.name)
>> ^ this
>> ```
>>
>> If it’s intentional, I’m very much against it.
>>
>> Cheers,
>> Ed
>>
>>> On 6 Apr 2017, at 13:14, Ricardo Parada via swift-evolution <swift-evolution at swift.org> wrote:
>>>
>>>
>>>> On Apr 5, 2017, at 11:13 PM, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:
>>>>
>>>> It is also worth mentioning that, with the sigil, the `keyPath` label may not be so necessary:
>>>>
>>>> print(luke[\.friends[0].name])
>>>> // or, if the suggestion above is accepted
>>>> print(luke[\.friends[0].name\])
>>>
>>>
>>> I think the label makes it more obvious, specially when using it with a key path variable:
>>>
>>> let someKeyPath = ...
>>>
>>> person[
>>> keyPath: someKeyPath]
>>>
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list