Xcode项目构建

Xcode 常用代码块

2019-07-12  本文已影响0人  SkyMing一C

在Xcode10正式发布之后,原先位于编辑器右下角的代码块标识被放到右上角的状态栏里,点击 {}按钮之后会将所有的代码块弹出.

{}按钮.png

添加步骤

/** <#注释#> */
@property (nonatomic,strong) <#Class#> *<#object#>;

图中从上到下的含义依次是:

标题 含义
Title 代码片段的标题
Summary 代码片段的描述文字
Platform 可以使用代码片段的平台,有IOS/OS X/All三个选项
Language 可以在哪些语言中使用该代码片段
Completion Shortcut 代码片段的快捷方式,例:copy
Completion Scopes 可以在哪些文件中使用当前代码片段,比如全部位置,头文件中等,当然可以添加多个支持的位置。
最后的一个大得空白区域 对代码片段的效果预览。

一切设置完成以后,点击该菜单右下角的Done按钮,新建工作就结束了。

常用的属性

  1. assign
/** <#注释#> */
@property(nonatomic, assign) <#type#>;
  1. strong
/** <#注释#> */
@property (nonatomic,strong) <#Class#> *<#object#>;
  1. weak
/** <#注释#> */
@property(nonatomic,weak) <#class#> *<#name#>;
  1. copy
/** <#注释#> */
@property (nonatomic,copy) <#Class#> *<#object#>;
  1. block
/** <#注释#> */
@property(nonatomic,copy) <#MyBlock#> <#blockName#>;
  1. delegate
/** <#注释#> */
@property (nonatomic,weak) id<<#protocol#>> <#delegate#>;

GCD相关

  1. OnceGCD
+ (instancetype)shareInstance{
    
    static dispatch_once_t onceToken;
    static id instance = nil;
    dispatch_once(&onceToken, ^{
        
        <#code to be executed once#>
        
    });
    return instance;
}
  1. 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#>
});
  1. MainGCD
dispatch_async(dispatch_get_main_queue(), ^{
    <#code#>
});

通知

  1. 添加通知
[[NSNotificationCenter defaultCenter] addObserver:<#(nonnull id)#> selector:<#(nonnull SEL)#> name:<#(nullable NSNotificationName)#> object:<#(nullable id)#>];
  1. 移除通知
[[NSNotificationCenter defaultCenter] removeObserver:self];

注释

  1. 属性注释 - explain property
/** <#注释#> */
  1. 函数内部注释 - explain single
// --<#说明#>
  1. 函数注释 - explain mark
#pragma mark - **************** <#输入注释#> ****************

其他

这个是GNU C的对C的扩展语法 Xcode采用的Clang编译,Clang作为GCC的替代品,和GCC一样对于GNU C语法完全支持

你可能知道if(condition)后面只能根一条语句,多条语句必须用{}阔起来,这个语法扩展即将一条(多条要用到{})语句外面加一个括号(), 这样的话你就可以在表达式中应用循环、判断甚至本地变量等。表达式()最后一行应该一个能够计算结果的子表达式加上一个分号(;), 这个子表达式作为整个结构的返回结果

这个扩展在代码中最常见的用处在于宏定义中

({
        <#init#>
        <#code#>
        <#instance#>;
    });
({
        UIButton *button = [UIButton buttonWithType:<#(UIButtonType)#>];
        <#code#>
        button;
    });
({
        UILabel *label = [[UILabel alloc]init];
        <#code#>
        label;
    });
({
        UIView *view = [[UIView alloc]init];
        <#code#>
        view;
    });

参考

xcode 常用代码块

OC中的一些编程写法--({"添加代码"}) 花括号用法

上一篇 下一篇

猜你喜欢

热点阅读