iOS Code Snippets 提升代碼開發效率

描述:

我們有沒有好奇過,我們寫代碼的時候輸入幾個字母系統就會提示一些相應的代碼塊。比如- (instancetype)initWithFrame:(CGRect)frame等。但是還有些我們常用的代碼塊系統是沒有的。這個時候我們就需要自己自定義一些代碼塊了。

自定義代碼塊的方法:

1.首先在項目中寫入自己想創建成為Code Snippets的代碼塊。如:

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

2.選中代碼塊點擊鼠標右鍵選中create Code snippet 選項。
3.進入編輯代碼塊的界面。


代碼塊界面

4.進行代碼塊命名,我一般都是用My做前綴,后面是名稱,需要占位的代碼可以用特殊格式寫<#type#>。
5.最后點擊Done完成。

補充說明一下下面的幾個選項:

1.Language:選擇開發語言。
2.Platform:可用于的平臺iOS、macOS、tvOS、watchOS。
3.Completion:和代碼塊的名稱要一樣,否則引用的時候打不出來。
4.Availabililty:在哪些地方可以調用出代碼塊,比如有的代碼塊適用于.h文件,有的代碼塊適用于.m文件,他們的代碼塊名稱很相似,為了引用的時候不都彈出來干擾選擇,可以設置這個選項。規定其可用范圍。

常用的自定義代碼塊:

屬性構建:
@property (nonatomic, assign) <#Type#> <#name#>;
@property (nonatomic, copy) <#Type#> *<#name#>;
@property (nonatomic, strong) <#Type#> *<#name#>;
@property (nonatomic, weak)  <#Type#> *<#name#>;
@property (nonatomic, copy) void (^<#name#>Block) (<#name#>);
強弱Self:
__weak __typeof(self) weakSelf = self;
__strong __typeof(self) strongSelf = weakSelf;
懶加載:
- (<#type#> *)<#name#> {
    if (!_<#property#>) {
    }
    return _<#property#>;
}
單例:
static <#ClassSingle#> *_sharedSingleton = nil;
static dispatch_once_t _onceToken;

+ (instancetype)shareSingleton {
    dispatch_once(&onceToken, ^{
        if (_sharedSingleton == nil) {
            _sharedSingleton = [[super allocWithZone:NULL] init];
        }
    });
    return _sharedSingleton;
}

+ (instancetype)allocWithZone:(struct _NSZone *)zone {
    return [<#ClassSingle#> shareSingleton];
}

- (id)copyWithZone:(nullable NSZone *)zone {
    return [<#ClassSingle#> shareSingleton];
}

- (id)mutableCopyWithZone:(nullable NSZone *)zone {
    return [<#ClassSingle#> shareSingleton];
}

- (void)destorySingle {
    _onceToken = 0;
    _sharedSingleton = nil;
}

還有一些關于UI快速創建的,快速創建UILabel,UIButton,UITableView,UICollectionView等,一些快速構建約束的,就不一一列舉了。

問題:

這時候的的人可能會問,我也想搞一套這個東西,但是我一個一個的往上粘也太麻煩了,有沒有直接把寫好的一套的代碼塊直接挪到項目中去呢?

這個還真有。首先,我們要知道存放代碼塊的文件在哪,找到這個文件,將現有的代碼塊文件,放進這個文件夾中就可以了。在桌面(shift + command + G)復制下面的路徑回車。

文件路徑:

~/Library/Developer/Xcode/UserData/CodeSnippets

存放代碼塊的地址:

https://github.com/WarmLGZ/CodeSnippetsFile

總結:
這個代碼塊確實能提升我們的代碼效率,別人剛寫個UILabel你的一塊代碼都寫完了,就是這么省事。還有一次我Xcode升級了以后,我之前自己定義的一些代碼塊就沒有了。寫這個文章也為了保存一份文件,以防萬一。還有哪些不足和需要補充的地方望大家補充指教,必虛心學習。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容