美文网首页
iOS代码块

iOS代码块

作者: qianfei | 来源:发表于2019-01-24 16:39 被阅读6次

    居上位者,心要黑,剑也要黑。心够黑,才能审度真正的利益,剑够黑,才能决断必要的牺牲。

    ————古凌逝烟

    如何提高自己敲代码的效率呢,合理的利用代码块是比复制还要方便的一种方法,此外也有助于提高代码的整洁度;将部分代码整理添加到代码块,在Xcode中使用时非常方便;

    Xcode添加代码块

    Xcode有自带的代码块,如我们一般常用的tydedef;当然我们也可以添加自定义代码块,【鼠标选中一段代码,停留2秒,然后左键长按拖进Xcode自带的代码块区,拖入后弹出编辑框,可以编辑名称,描述和快捷方式等信息,点击Done完成,然后就可以使用当前添加的这条代码块】

    Xcode自带代码块 自定义添加代码块

    Title:表示代码块的标题;
    Summary:表示代码块的描述信息;
    Platform:表示代码块可以使用的平台,默认即可;
    Language:表示代码块可以使用的语言平台;
    Completion Shortcut:表示代码块的快捷方式;
    Completion Scopes:表示代码块的使用范围;

    Xcode迁移代码块

    Xcode中的代码块默认路径是:
    ~/Library/Developer/Xcode/UserData/CodeSnippets
    可以将路径中的代码块,迁移到不同的电脑上使用,需重新启动Xcode ;

    常用代码块

    注释
    方法集注释
    #pragma mark —————<#注释#>—————
    
    普通注释
    /** <#注释#> */
    ————————————————————————————————————
    /** <#注释#>
     *  <#注释#>
     */
    ————————————————————————————————————
    /**
     <#注释#>
     
     @param <#注释#>        <#注释#>
     @param <#注释#>        <#注释#>
     
     @return <#注释#>       <#注释#>
     */
    
    @property属性声明
    @property (nonatomic, <#copy#>) <#NSString#> *<#name#>; /** <#注释#> */
    
    单例
    static <#SingleObject#> *_singleInstance = nil;
    +(instancetype)sharedInstance{
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            if (_singleInstance == nil) {
                _singleInstance = [[self alloc]init];
            }
        });
        return _singleInstance;
    }
    
    +(instancetype)allocWithZone:(struct _NSZone *)zone{
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            _singleInstance = [super allocWithZone:zone];
        });
        return _singleInstance;
    }
    
    -(id)copyWithZone:(NSZone *)zone{
        return _singleInstance;
    }
    
    -(id)mutableCopyWithZone:(NSZone *)zone {
        return _singleInstance;
    }
    
    
    懒加载
    - (<#NSMutableArray *#>)<#name#> {
        if (!<#name#>) {
            <#name#> = <#[NSMutableArray array]#>;
        }
        return <#name#>;
    }
    
    圆角边框
    <#view#>.layer.borderWidth = 1.0;
    <#view#>.layer.borderColor = [UIColor grayColor].CGColor;
    <#view#>.layer.cornerRadius = 10;
    <#view#>.layer.masksToBounds = YES;
    
    UIButton创建
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(0, 0, 44, 44);
    [button setTitle:@"<#标题#>" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    button.backgroundColor = <#[UIColor blueColor]#>;
    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
    [<#self.view#> addSubview:button];
    
    UITableView创建
    #pragma mark —————<#UITableView#>—————
    - (void)initWithTableView{
        self.tableView.delegate = self;
        self.tableView.dataSource = self;
        self.tableView.rowHeight = <#50#>;
        self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        [self.tableView registerNib:[UINib nibWithNibName:@"<#nibName#>" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"<#cellID#>"];
    }
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
        
        return 1 ;
    }
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        
        return 10;
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        
        <#UITableViewCell#> *cell = [tableView dequeueReusableCellWithIdentifier:@"<#cellID#>" forIndexPath:indexPath];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        return cell;
    }
    
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        
    }
    
    UICollectionView创建
    #pragma mark —————<#UICollectionView>#—————
    - (void)initWithCollectionView{
        
        self.collectionView.delegate = self;
        self.collectionView.dataSource = self;
        UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];
        flowLayout.itemSize = CGSizeMake(10, 10);
        flowLayout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10);
        flowLayout.minimumLineSpacing = 5;
        flowLayout.minimumInteritemSpacing = 5;
        self.collectionView.collectionViewLayout = flowLayout;
        [self.collectionView registerNib:[UINib nibWithNibName:@"<#nibName#>" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"<#cellId#>"];
    }
    
    -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
        
        return 1;
    }
    
    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
        
        return 10;
    }
    
    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
        
        <#UICollectionViewCell#> * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"<#cellId#>" forIndexPath:indexPath];
        return cell;
    }
    
    - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
        
    }
    
    欢迎留言指正,会持续更新。。。

    相关文章

      网友评论

          本文标题:iOS代码块

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