iOS开发小技巧iOS DevelopmentiOS-Developer-OC

iOS常用代码块&注释规范

2017-02-17  本文已影响619人  林安530
iOS常用代码块&注释规范

简洁快捷的代码块能极大地提高开发效率

Xcode自带的GDC代码块

属性注释 快捷键:xx

/** <#属性注释#> */

多行注释 快捷键:zz

/** <#简要描述#>
 * <#详细描述#>
 */

#pragma mark ——- 快捷键:mark-

#pragma mark ——— <#mark#>

#pragma mark — 快捷键:mark

#pragma mark — <#mark#>

weak属性创建 快捷键:weak

/** <#weak属性注释#> */
@property (nonatomic, weak) <#Class#> *<#name#>;

copy属性创建 快捷键:copy

/** <#copy属性注释#> */
@property (nonatomic, copy) NSString *<#name#>;

assign属性创建 快捷键: assign

/** <#assign属性注释#> */
@property (nonatomic, assign) <#Class#> <#name#>;

UIAlertViewController创建

// UIAlertViewController(弹框视图)
    UIAlertController *<#alert#> = [UIAlertController alertControllerWithTitle:<#title#> message:<#message#> preferredStyle:<#UIAlertControllerStyle#>];
    UIAlertAction *<#action#> = [UIAlertAction actionWithTitle:<#@"确定"#> style:<#UIAlertActionStyle#> handler:<#^(UIAlertAction * _Nonnull action)handler#>];
    [alert addAction:<#action#>];
    [self presentViewController:<#alert#> animated:<#(BOOL)#> completion:<#^(void)completion#>];

懒加载

#pragma mark - 懒加载
- (<#type#> *)<#name#> {
    if (!_<#name#>) {
        _<#name#> = <#statements#>;
    }
    return _<#name#>;
}

一个页面多个请求

dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);

[^{
dispatch_group_leave(group);
}];

dispatch_group_enter(group);

[^{
dispatch_group_leave(group);
}];
dispatch_group_notify(group, dispatch_get_main_queue(), ^{

});

代理.h 快捷键:delegate.h

@protocol <#LoginViewControllerDelegate#> <NSObject>

@required // 必须实现的方法 默认

@optional // 可选实现的方法
- (void)<#loginViewControllerDidSuccess#>:(<#Class#> *)<#obj#>;

@end

@property(nonatomic, weak) id<<#LoginViewControllerDelegate#>> <#代理属性#>;

代理.m 快捷键:delegate.m

    //成功后的回调
    if ([self.<#代理属性#> respondsToSelector:@selector(<#代理方法名loginViewControllerDidSuccess#>:)]) {
        [self.<#代理属性#> <#代理方法名loginViewControllerDidSuccess#>:<#obj#>];
    }

属性block.h 快捷键:blockProperty.h

// <#属性block#>
@property (nonatomic, copy) void(^<#nameBlock#>)(<#Class#> *<#obj#>);

属性block.m 快捷键:blockProperty.m

if (self.<#nameBlock#>) {
    self.<#nameBlock#>(<#obj#>);
}

方法block.h 快捷键:blockMethod.h

typedef void(^<#AYHandle#>)(<#Class#> *<#obj#>);

- (void)<#block方法名#>:(<#AYHandle#>)<#xxHandle#>;

方法block.m 快捷键:blockMethod.m

/** 方法block回调 */
@property (nonatomic, copy) <#AYHandle#> <#xxHandle#>;

if (self.<#xxHandle#>) {
    self.<#xxHandle#>(<#obj#>);
}

- (void)<#block方法名#>:(<#AYHandle#>)<#xxHandle#> {
    self.<#xxHandle#> = <#xxHandle#>;
}

单例 快捷键:single

static HLUserManager *_singleton = nil;

@implementation HLUserManager

+ (instancetype)sharedManager {
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _singleton = [[HLUserManager alloc] init];
    });
    return _singleton;
}
上一篇下一篇

猜你喜欢

热点阅读