iOS 常用代码块

作者: 天空中的球 | 来源:发表于2021-01-12 18:22 被阅读0次

刚在网上看到一篇关于 CodeSnippets 的文章,发现自己好像一直也是这样做的,但是从来没整理过的,So 利用空余时间整下的。

一、直接创建
Create Code Snippet 确认

通常创建后,可以直接使用快捷键


快捷键直接使用
二、或是到相应目录下粘贴之前保存的
CodeSnippets
~/Library/Developer/Xcode/UserData/CodeSnippets

没有CodeSnippets 的时候,直接复制 CodeSnippets 就好了。

三、常用 代码块记录
  • 3-1、初始化

my_init_vc

#pragma mark - Life Cycle
- (void)viewDidLoad {
    [super viewDidLoad];
    [self setupUI];
}

#pragma mark - Method

#pragma mark - Delegate

#pragma mark - SetupUI
- (void)setupUI {
    
    [self addViewConstraints];
}

- (void)addViewConstraints {
    
}

#pragma mark - Getter

my_init_view

#pragma mark - Life Cycle
- (instancetype)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        [self setupUI];
    }
    return self;
}

#pragma mark - Method

#pragma mark - Delegate

#pragma mark - SetupUI
- (void)setupUI {
    
    [self addViewConstraints];
}

- (void)addViewConstraints {
    
}

#pragma mark - Getter

my_init_cell

#pragma mark - Life Cycle
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        [self setupUI];
    }
    return  self;
}

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}

#pragma mark - Method

#pragma mark - Delegate

#pragma mark - SetupUI
- (void)setupUI {
    
    [self addViewConstraints];
}

- (void)addViewConstraints {
    
}

#pragma mark - Getter
  • 3-2、Getter

my_get_view

- (UIView *)<#UIView view#> {
    if (!_<#UIView view#>) {
        _<#UIView view#> = [[UIView alloc] init];
        _<#UIView view#>.backgroundColor = <#UIColor#>;
    }
    return _<#UIView view#>;
}

my_get_button

- (UIButton *)<#UIButton#> {
    if (!_<#UIButton#>) {
        _<#UIButton#> = [UIButton buttonWithType:UIButtonTypeCustom];
        [_<#UIButton#> addTarget:self action:@selector(<#UIButton#>Action) forControlEvents:UIControlEventTouchUpInside];
    }
    return _<#UIButton#>;
}

my_get_imageView

- (UIImageView *)<#UIImageView#> {
    if (!_<#UIImageView#>) {
        _<#UIImageView#> = [[UIImageView alloc] init];
    }
    return _<#UIImageView#>;
}

my_get_label

- (UILabel *)<#UILabel#> {
    if (!_<#UILabel#>) {
        _<#UILabel#> = [[UILabel alloc] init];
        _<#UILabel#>.textColor = <#UIColor#>;
        _<#UILabel#>.font = <#UIFont#>;
    }
    return _<#UILabel#>;
}
  • 3-3、属性

my_pro_assigin

@property (nonatomic, assign) <#type#> <#name#>;

my_pro_copy

@property (nonatomic, copy) <#type#> *<#name#>;

my_pro_strong

@property (nonatomic, strong) <#type#> *<#name#>;

my_pro_weak

@property (nonatomic, weak) <#type#> <#name#>;
  • 3-4、常用 View
    my_tableView
<UITableViewDelegate, UITableViewDataSource>

// 将其移动到interface中
@property (nonatomic, strong) UITableView *tableView;

#pragma mark - UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return <#NSInteger number#>;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    <#UITableViewCell cell#> *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass(<#UITableViewCell cell#>.self) forIndexPath:indexPath];
    return cell;
}

#pragma mark - UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}

- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.estimatedRowHeight = 60;
        _tableView.estimatedSectionFooterHeight = 40;
        _tableView.estimatedSectionHeaderHeight = 0;
        _tableView.separatorStyle = UITableViewCellSelectionStyleNone;
        _tableView.backgroundColor = [UIColor whiteColor];
        [_tableView registerClass:[<#UITableViewCell cell#> class] forCellReuseIdentifier:NSStringFromClass(<#UITableViewCell cell#>.self)];
    }
    return _tableView;
}

my_collectionView

<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>

@property (nonatomic, strong) UICollectionView *collectionView;

#pragma mark - UICollectionViewDataSource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return <#numbers#>;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    <#collectionViewcell#> *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass(<#collectionViewcell#>.class) forIndexPath:indexPath];
    return cell;
}

#pragma mark - UICollectionViewDelegateFlowLayout
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    return CGSizeZero;
}

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
    return UIEdgeInsetsZero;
}

#pragma mark - UICollectionViewDelegate
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {

}

<UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>

- (UICollectionView *)collectionView {
    if (!_collectionView) {
        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
        layout.minimumLineSpacing = 0;
        layout.minimumInteritemSpacing = 0;
        _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
        _collectionView.delegate = self;
        _collectionView.dataSource = self;
        [_collectionView registerClass:[<#collectionViewcell#> class] forCellWithReuseIdentifier:NSStringFromClass(<#collectionViewcell#>.class)];
    }
    return _collectionView;
}
  • 3-5 、其他

my_make_attribute

- (NSAttributedString *)makeAttributedStringWithSubTitle :(NSString *)subTitle title:(NSString *)title {
    if (!subTitle.length || !title.length) {
        return nil;
    }
    NSString *str = [NSString stringWithFormat:@"%@%@", subTitle, title];
    NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:str];
    [attribute addAttributes:@{NSFontAttributeName : <#UIFont#>, NSForegroundColorAttributeName : <#UIColor#><##>} range:[str rangeOfString:subTitle]];
    [attribute addAttributes:@{NSFontAttributeName : <#UIFont#>, NSForegroundColorAttributeName : <#UIColor#><##>} range:[str rangeOfString:title]];
    return [attribute copy];
}

my_make_shadow

<#view#>.layer.shadowColor = <#color#>.CGColor;
<#view#>.layer.shadowRadius = 3;
<#view#>.layer.shadowOffset = CGSizeMake(0, 2);
<#view#>.layer.shadowOpacity = 0.1;

my_safe_masonry

 if (@available(iOS 11.0, *)) {
      make.top.mas_equalTo(self.view.mas_safeAreaLayoutGuideTop);
 } else {
      make.top.mas_equalTo(self.view.mas_top);
 }

my_strongify

@strongify(self);

my_weakify

@weakify(self);

个人建议,还是可以手动写的,毕竟自己熟悉的快捷键才是自己的。
此处记录,就是怕后期没保存好或是习惯有调整,先记录此的。

参考

相关文章

  • iOS 常用代码块

    iOS 常用代码块: @property (nonatomic, strong) <#Class#> * <#ob...

  • iOS 常用代码块

    不定期添加和整理 如有帮助,点个喜欢可好? 目录 1. 扩大按钮点击范围(扩大点击事件响应范围) 富文本 2.1 ...

  • iOS 常用代码块

    刚在网上看到一篇关于 CodeSnippets 的文章,发现自己好像一直也是这样做的,但是从来没整理过的,So 利...

  • (iOS)常用的代码块

    使用很简单,在代码区域写入代码块,然后按住拖到右下角即可。 Title:代码块的标题Summary:代码块的描述文...

  • IOS --- 设置常用代码块

    我们经常遇到这样的问题,在不同的文件或者项目里面总会需要设置一些相同的代码,例如多次懒加载数组,多次设置视图颜色,...

  • iOS常用代码块Snippets

    属性 strong-pstrong weak-pweak copy-pcopy assign-passign bl...

  • iOS-常用代码块

    代码块(Snippet),方便了代码快速创建。 管理:在新版Xcode中管理页面在编译器的右上角 添加:选中代码鼠...

  • ios常用快捷代码块

    Xcode 代码块备份在更换自己用过电脑,或公司电脑与个人电脑中时,只要将~/Library/Developer/...

  • iOS常用代码块笔记

    1.时间戳和时间工具 yz_time 2.延时执行工具yz_delay 3.给view切一部分圆角yz_corne...

  • iOS开发之常用代码块

    持续更新中 设置TabBarController为Window的根视图 创建一个导航视图层级的TabBar子视图

网友评论

    本文标题:iOS 常用代码块

    本文链接:https://www.haomeiwen.com/subject/nraraktx.html