让您的Xcode键字如飞


指法攻略: 放下您钟爱的鼠标吧,在前行之中它终会成为你的负累!

Xcode主界面结构展示

简记:

  • command用来导航,控制导航区域
  • alt控制右边的一些东西,比如AssistantEditor,utility editor
  • Control编辑区域上的Jump bar的一些交互

Command 1~ 8: 跳转到导航区的不同位置 Command 0 :显示/隐藏导航区 Command Alt 1~ 6:在不同检测器之间跳转 Control 1~ 6: 在Jump bar的不同标签页的跳转 Command Alt 0: 显示/关闭工具区. Command + Enter: 显示标准单窗口编辑器 Command Alt Enter:打开Assistant editor Command Alt Shift Enter: 打开版本控制编辑器 Command + Shift + Y:显示/隐藏调试区 Command + Shift + J,可展示当前你在工程导航器中打开的文件 Cmd + . 方便地暂停运行iOS模拟器

查找

使用 Command + Shift + Option + F 来打开 Find navigator 的替换模式,如果你嫌麻烦,也可以使用Command + Shift + F 来打开 Find navigator 的查找模式,如果你还嫌麻烦,使用command + 3 来打开 Find navigator,然后开启查找或者替换模式,选择一种最适合自己的方式就好

快速打开

Command + Shift + O可以直接跳转到某个方法定义或者指定的代码文件。喜欢使用键盘但不喜欢使用鼠标的人会大爱这个快捷方式。键入第一个字母即可快速切换至某个文件或者找到特定的代码行。比如键入vDL,最先展示的结果是带有viewDidLoad()名的函数

帮助

Command + Shift + 0(Zero)打开文档和参考,键入代码中的某个关键字,文档提供了一些额外的资源和示例工程。当然也可以在变量、类或者方法名上执行Option+双击名称操作,从而更方便地跳转至文档

在类或者方法名上执行Option + Left点击操作使用内联帮助可帮开发者快速学习类或代码片段的用法。如果点击了弹出视图底部的参考链接,那么就可以方便地跳转到Xcode提供的文档中

个人比较中意Option+双击名称操作,毕竟来的直接

Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便

常用代码块

  1. copy:

     @property (nonatomic,copy) NSString  *<#string#>;
    
  2. strong:

     @property (nonatomic,strong) <#Class#> *<#object#>;
    
  3. weak:

     @property (nonatomic,weak) <#Class#> *<#object#>;
    
  4. assign:

     @property (nonatomic,assign) <#Class#> <#property#>;
    
  5. delegate:

     @property (nonatomic,weak) id <<#protocol#>> <#delegate#>;
    
  6. block:

     @property (nonatomic,copy) <#Block#> <#block#>;
    
  7. mark:

     #pragma mark <#mark#>;
    
  8. gmark:

     #pragma mark - <#gmark#>
    
  9. warning:

     #warning <#message#>
    
  10. ReUseCell:

    static NSString *rid=<#rid#>;
    <#Class#> *cell=[tableView dequeueReusableCellWithIdentifier:rid];
    if(cell==nil){
    cell=[[<#Class#> alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:rid];
    }
    return cell;
    
  11. initObj:

    if(self=[super init]){
    <#init#>
    }
    return self;
    
  12. dataFill:

    -(void)dataFill:(<#ModelClass#>
    *)<#model#>{
    <#code#>
    }
    
  13. MainGCD:

    dispatch_async(dispatch_get_main_queue(), ^{
    <#code#>
    });
    
  14. GlobalGCD:

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
    <#code#>
    });
    
  15. AfterGCD:

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<#delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(),
    ^{
    <#code to be executed after a specified delay#>
    });
    
  16. OnceGCD:

    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
    <#code to be executed once#>
    });
    

更多代码块持续更新中~~~

参考文档

results matching ""

    No results matching ""