懶人必備神器-Xcode程式碼塊
每天都有新的需求,尤其是那些業務程式碼,都是重複性的勞動,寫的就是莫名的煩躁。但是也沒有辦法,還是要完成工作的。最近就向同事推薦了釋放雙手的神器程式碼塊,這樣就留出多餘的時間幹其他事情。
一、使用Code Snippets
Xcode版本不同這個入口也不同,當前我用的Xcode12的版本是在Xcode介面的右上角,點選+號就會彈出如下介面。其實我們發現系統已經寫好了很多程式碼塊,可以先自己瀏覽觀察下都有哪些程式碼塊,還可以在Snippets欄輸入搜尋你想使用的,並且有OC和Swift兩種語言的程式碼塊
比如,發現有個叫"@interface-category"的程式碼塊,在類裡面輸入@interface-category,就會自動生成這個程式碼,這樣是不是效率很高,不用重複的去寫這個功能的程式碼.
- 輸入的時候有聯想,並且程式碼塊前面都是{}標識的
- 可以找到想使用的程式碼塊,直接拖拽過來使用
二、自定義程式碼塊
系統寫好的程式碼塊畢竟不能滿足開發的需求,其實自己也可以新增一些適合自己的程式碼塊,只是要注意命名和系統的名稱有區分,這樣就很容易敲出自定義的。方法也很簡單,選中格式化程式碼,右鍵
點選了Create Code Snippet,就會出現這個頁面,主要需要填寫程式碼塊名稱、摘要、程式碼塊簡稱。這個簡稱就是我們敲程式碼,把簡稱輸入系統就會提示相應的程式碼塊
這樣我們自定義的程式碼塊就設定好了。例如,我設定的程式碼塊簡稱是xLabel。當敲寫xl時,系統自動提示出現設定的程式碼塊。同樣雙擊,程式碼自動寫好了。
自定義的程式碼塊在~/Library/Developer/Xcode/UserData/CodeSnippets,可以進去看到
三、常用的程式碼塊
平常在開發中,我們有很多經常敲的場景,比如:
- 屬性的定義,比如宣告一個屬性
```
@property (nonatomic, strong)
@property (nonatomic, weak)
@property (nonatomic, copy)
@property (nonatomic, assign)
UIButton *button = [[UIButton alloc] init];
button.backgroundColor = ;
button.titleLabel.font = [UIFont systemFontOfSize:];
[button setTitle: forState:UIControlStateNormal];
[button setImage: forState: UIControlStateNormal];
[button setTitleColor: forState:UIControlStateNormal];
[button addTarget:self action: @selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:button];
- 常用的方法,比如UITableView的代理方法
```
pragma mark - UITableViewDataSource
-
(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return ; }
-
(UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath { UITableViewCell cell = [tableView dequeueReusableCellWithIdentifier:@"" forIndexPath:indexPath]; return cell; }
-
(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath {
}
pragma mark - UITableViewDelegate
- (CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath { return ; } ```
- 等等
__weak typeof(self) weakSelf = self;
只要是經常用到的場景,業務程式碼都可以定義成適合自己的程式碼塊,不要覺得新增的時候麻煩,所謂磨刀不誤砍柴工。整體使用還是比較方便簡單的,這個程式碼塊不會因為Xcode的升級而升級可以放心新增。
- Flutter:仿京東專案實戰(4)-購物車頁面功能實現
- Flutter整合原生遇到的問題彙總
- Flutter:仿京東專案實戰(3)-商品詳情頁功能實現
- Flutter-Dart中的非同步和多執行緒講解
- iOS-底層原理分析之Block本質
- Flutter-官方推薦的Flutter與原生互動外掛Pigeon
- Flutter-flutter_sound錄音與播放
- iOS-CocoaPods的原理及Podfile.lock問題
- iOS配置多環境的三種方案
- iOS-各種Crash防護
- iOS-Swift中常見的幾種閉包
- Flutter:仿京東專案實戰(2)-分類和商品列表頁面功能實現
- Flutter:仿京東專案實戰(1)-首頁功能實現
- Flutter-JSON轉Model的四種便捷方案
- Flutter-導航與路由堆疊詳解
- Flutter 與原生通訊的三種方式
- iOS-記憶體洩漏檢測
- Fastlane實現自動打包
- 懶人必備神器-Xcode程式碼塊
- Jenkins實現自動化打包