1.自定义的快捷代码块
存放路径:~/Library/Developer/Xcode/UserData/CodeSnippets
可以拷贝相关文件直接复制到另一台电脑的相应文件夹中,完成自定义快捷代码块的拷贝
2.系统自带快捷代码块
存放路径:/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/SystemCodeSnippets.codesnippets
SystemCodeSnippets.codesnippets文件是plist格式的 xml文件
如需修改快捷代码块设置,用Xcode打开此文件,
IDECodeSnippetContents为代码片段的内容,修改即可达到目的。
IDECodeSnippetIdentifier唯一标示,重名即会覆盖。
IDECodeSnippetCompletionPrefix类似Completion Shortcut,可以修改键值来修改快捷补全,如果键值留空则可屏蔽该片段。
swift语言中常用的系统代码块快捷键对照表
1.available
if #available(<#platform name#> <#version#>, *) {
<#API available statements#>
} else {
<#fallback statements#>
}
2.F
{ (<#parameters#>) -> <#return type#> in
<#statements#>
}
3.letget
let <#property name#>: <#type name#> = {
<#statements#>
return <#value#>
}()
4.vargetset
var <#variable name#>: <#type#> {
get {
<#statements#>
}
set {
<#variable name#> = newValue
}
}
5.varget
var <#variable name#>: <#type#> {
<#statements#>
}
6; var
var <#name#> = <#value#>
7.let
let <#name#> = <#value#>
8.convenienceinit
convenience init(<#parameters#>) {
<#statements#>
}
9.docatch
do {
try <#throwing expression#>
} catch <#pattern#> {
<#statements#>
}
10.while
while <#condition#> {
<#code#>
}
11.defer
defer {
<#deferred statements#>
}
12.deinit
deinit {
<#statements#>
}
13.enum
enum <#name#> {
case <#case#>
}
14.for
for <#item#> in <#items#> {
<#code#>
}
15.func
func <#name#>(<#parameters#>) -> <#return type#> {
<#function body#>
}
16.guard
guard <#condition#> else {
<#statements#>
}
17.guardlet
guard let <#constant#> = <#expression#> else { return <#return value#> }
18.if
if <#condition#> {
<#code#>
}
19.iflet
if let <#constant name#> = <#optional#> {
<#statements#>
}
20.ifelse
if <#condition#> {
<#statements#>
} else {
<#statements#>
}
21.import
import <#module#>
22.init
init(<#parameters#>) {
<#statements#>
}
23.lazyvar
lazy var <#variable name#> = <#expression#>
24.lazyvarget
lazy var <#property name#>: <#type name#> = {
<#statements#>
return <#value#>
}()
25.letget
let <#property name#>: <#type name#> = {
<#statements#>
return <#value#>
}()
26.protocol
protocol <#name#> {
<#requirements#>
}
27.requiredinit
required init(<#parameters#>) {
<#statements#>
}
28.struct
struct <#name#> {
<#fields#>
}
29.class
class <#name#>: <#super class#> {
<#code#>
}
30.switch
switch <#value#> {
case <#pattern#>:
<#code#>
default:
<#code#>
}
31.test
func test<#Name#>() {
<#statements#>
}
32.typealias
typealias <#type name#> = <#type expression#>