Xcode 10 个代码完成占位符——"T" 是什么?
Xcode 10 code completion placeholders — what is the "T"?
在 Xcode 10 代码完成中,占位符标记下方的文本前面有一个额外的 #T#
(要查看是否如此,请将插入的代码模板复制并粘贴到不同的文本中编辑):
let alert = UIAlertController(
title: <#T##String?#>, message: <#T##String?#>,
preferredStyle: <#T##UIAlertController.Style#>)
那是什么? "T" 是指类型吗?它对我使用占位符有何影响?
语法<#T##_A_##_B_#>
用于为占位符指定一段默认代码。占位符将显示为 _A_
,但当用户按下回车键时,占位符将被替换为 _B_
。
占位符:
按下回车后:
在向观众展示内容时,这是一个很有用的功能,因为与片段不同,我不需要记住每个片段的名称,我只需要 select 一个占位符并按输入以获取正确的代码。
编辑:
回答你的问题,确实好像T指的是类型。如果您尝试用 <#T##Example1##let i = 3#>
等表达式替换占位符,占位符不会像您期望的那样被 let i = 3
替换。它被替换为 <<error type>>
.
此外,此占位符 <#T##transform: (Error) throws -> U?##(Error) throws -> U?#>
替换为:
{ (<#Error#>) -> U? in
<#code#>
}
我的猜测是,当您在 T
前面添加时,您是在告诉 Xcode 您将提供一个类型,然后 Xcode 会为该类型找到一个合适的默认值。
在 Xcode 10 代码完成中,占位符标记下方的文本前面有一个额外的 #T#
(要查看是否如此,请将插入的代码模板复制并粘贴到不同的文本中编辑):
let alert = UIAlertController(
title: <#T##String?#>, message: <#T##String?#>,
preferredStyle: <#T##UIAlertController.Style#>)
那是什么? "T" 是指类型吗?它对我使用占位符有何影响?
语法<#T##_A_##_B_#>
用于为占位符指定一段默认代码。占位符将显示为 _A_
,但当用户按下回车键时,占位符将被替换为 _B_
。
占位符:
按下回车后:
在向观众展示内容时,这是一个很有用的功能,因为与片段不同,我不需要记住每个片段的名称,我只需要 select 一个占位符并按输入以获取正确的代码。
编辑:
回答你的问题,确实好像T指的是类型。如果您尝试用 <#T##Example1##let i = 3#>
等表达式替换占位符,占位符不会像您期望的那样被 let i = 3
替换。它被替换为 <<error type>>
.
此外,此占位符 <#T##transform: (Error) throws -> U?##(Error) throws -> U?#>
替换为:
{ (<#Error#>) -> U? in
<#code#>
}
我的猜测是,当您在 T
前面添加时,您是在告诉 Xcode 您将提供一个类型,然后 Xcode 会为该类型找到一个合适的默认值。