讓您的Xcode鍵字如飛

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

作者:吳白(微博)

手指在鍵盤上飛速跳躍,終端上的代碼也隨著飛舞,是的這確實很酷。優秀的程序員總是這么一群人,他們不拘于現狀,不固步自封,他們喜歡新奇的事,他們把自己發揮到極致。

指法攻略

放下您鐘愛的鼠標吧,在前行之中它終會成為你的負累!

簡記:

  • command 用來導航,控制導航區域

  • alt 控制右邊的一些東西,比如Assistant Editor,utility editor

  • Control 編輯區域上的Jump bar的一些交互

Command 1~ 8: 跳轉到導航區的不同位置

1467887027278280.gif

Command 0 :顯示/隱藏導航區

1467887056236133.gif

Command Alt 1~ 6:在不同檢測器之間跳轉

1467887071892645.gif

Control Command Alt 1~4: 在不同庫之間跳轉

1170656-5502a07ce79c6a87.gif

Control 1~ 6: 在Jump bar的不同標簽頁的跳轉。

1467887105211909.gif

Command Alt 0: 顯示/關閉工具區

Command + Enter: 顯示標準單窗口編輯器

Command Alt Enter:打開Assistant editor

Command Alt Shift Enter: 打開版本控制編輯器

Command + Shift + Y:顯示/隱藏調試區

Command + Shift + J,可展示當前你在工程導航器中打開的文件

Cmd + . 方便地暫停運行iOS模擬器

查找

使用 Command + Shift + Option + F 來打開 Find navigator 的替換模式,如果你嫌麻煩,也可以使用 Command + Shift + F 來打開 Find navigator 的查找模式,如果你還嫌麻煩,使用 command + 3 來打開 Find navigator,然后開啟查找或者替換模式,選擇一種最適合自己的方式就好。

1170656-c5494502126dd80a.jpg

快速打開

Command + Shift + O可以直接跳轉到某個方法定義或者指定的代碼文件。喜歡使用鍵盤但不喜歡使用鼠標的人會大愛這個快捷方式。鍵入第一個字母即可快速切換至某個文件或者找到特定的代碼行。比如鍵入vDL,最先展示的結果是帶有viewDidLoad()名的函數。

1170656-f07726dc67b46db0.jpg

幫助

Command + Shift + 0 (Zero)打開文檔和參考,鍵入代碼中的某個關鍵字,文檔提供了一些額外的資源和示例工程。當然也可以在變量、類或者方法名上執行Option+雙擊名稱操作,從而更方便地跳轉至文檔。

在類或者方法名上執行Option + Left點擊操作使用內聯幫助可幫開發者快速學習類或代碼片段的用法。如果點擊了彈出視圖底部的參考鏈接,那么就可以方便地跳轉到Xcode提供的文檔中。

1467887213145400.png

個人比較中意Option+雙擊名稱操作,畢竟來的直接。

代碼片段

Xcode的代碼片段(Code Snippets)創建自定義的代碼片段,當你重用這些代碼片段時,會給你帶來很大的方便。

常用代碼塊

1.copy:

1

@property?(nonatomic,copy)?NSString?*<#string#>;

2.strong:

1

@property?(nonatomic,strong)?<#Class#>?*<#object#>;

3.weak:

1

@property?(nonatomic,weak)?<#Class#>?*<#object#>;

4.assign:

1

@property?(nonatomic,assign)?<#Class#>?<#property#>;

5.delegate:

1

@property?(nonatomic,weak)?id<<#protocol#>>?<#delegate#>;

6.block:

1

@property?(nonatomic,copy)?<#Block#>?<#block#>;

7.mark:

1

#pragma?mark?<#mark#>

8.gmark:

1

#pragma?mark?-?<#gmark#>

9.warning:

1

#warning?<#message#>

10.ReUseCell:

1

2

3

4

5

6

static?NSString?*rid=<#rid#>;

<#Class#>?*cell=[tableView?dequeueReusableCellWithIdentifier:rid];

if(cell==nil){

??cell=[[<#Class#>?alloc]?initWithStyle:UITableViewCellStyleDefault??????reuseIdentifier:rid];

}

return?cell;

11.initObj:

1

2

3

4

if(self=[super?init]){

????<#init#>

}

return?self;

12.dataFill:

1

2

3

-(void)dataFill:(<#ModelClass#>?*)<#model#>{

????<#code#>

}

13.MainGCD:

1

2

3

dispatch_async(dispatch_get_main_queue(),?^{

<#code#>

});

14.GlobalGCD:

1

2

3

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,?0),?^{

<#code#>

});

15.AfterGCD:

1

2

3

dispatch_after(dispatch_time(DISPATCH_TIME_NOW,?(int64_t)(<#delayInSeconds#>?*?NSEC_PER_SEC)),?dispatch_get_main_queue(),?^{

<#code?to?be?executed?after?a?specified?delay#>

});

16.OnceGCD:

1

2

3

4

static?dispatch_once_t?onceToken;

dispatch_once(&onceToken,?^{

<#code?to?be?executed?once#>

});

黑技能(給代碼排序)

1467887331617427.gif

使用Spotlight來搜索Automator,并打開它;然后點擊File->New,并選擇服務(service)一項;在Actions篩選欄,輸入shell,然后雙擊運行shell腳本;在新添加的服務的菜單欄上,檢查Output replaces selected text;將腳本內容切換至sort | uniq;同時按下command + s,將服務保存為 Sort & Uniq。

轉載于:https://my.oschina.net/kaqijiang/blog/708162

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/261031.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/261031.shtml
英文地址,請注明出處:http://en.pswp.cn/news/261031.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Android Developers Training】 6. 配置Action Bar

注&#xff1a;本文翻譯自Google官方的Android Developers Training文檔&#xff0c;譯者技術一般&#xff0c;由于喜愛安卓而產生了翻譯的念頭&#xff0c;純屬個人興趣愛好。 原文鏈接&#xff1a;http://developer.android.com/training/basics/actionbar/setting-up.html 配…

android 7 創建文件夾,Android 在 res/layout 文件夾 下創建一個 子文件夾實例

Android 資源文件夾 Layout 文件夾Layout文件是存放Android的布局文件的資源文件夾&#xff0c;但是如果你想要在里面創建子文件夾&#xff0c;你會發現xml文件報錯。如何在Layout文件夾下方創建Layout的子文件夾。這邊我們需要著一個一個點就是我們的Layout 文件夾是屬于資源文…

一步一步學NUnit

轉載&#xff1a;http://tech.sina.com.cn/s/2009-07-17/1129988785.shtml 單元測試基礎知識 單元測試是開發者編寫的一小段代碼&#xff0c;用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言&#xff0c;一個單元測試是用于判斷某個特定條件(或者場景)下某個特定…

面向對象JS編程(一)——創建對象

1.普通模式 var person new Object();person.name "Laughing";person.age 28;person.job "Software Engineer";peron.sayName function(){ alert(this.name);};person.sayName(); 缺點&#xff1a;創建多個對象時&#xff0c;會產生大量的重復代碼…

android功耗iphone,是心目中的安卓小屏旗艦嗎?iPhone 8尺寸大小,4000mAh電池容量...

相信很多人都都喜歡小屏手機&#xff0c;但因為小屏手機總體需求不多&#xff0c;而且相對大屏更不好做&#xff0c;所以手機商都不愿意做小屏手機&#xff0c;這也導致市面上小屏手機非常少&#xff0c;蘋果推出了iPhone 12 Mini&#xff0c;但是因為電池只有2200mAh&#xff…

mySQL 數據庫錯誤

2019獨角獸企業重金招聘Python工程師標準>>> java.sql.SQLException: The user specified as a definer (..%) does not exist 視圖、存儲過程的使用者若非其創建者&#xff0c;就會出現這樣的錯誤 可以修改用戶的權限或重新創建進行解決 轉載于:https://my.oschina…

委托、事件的個人理解

事件&#xff1a;一個用event進行了封裝的委托類型的變量&#xff0c;使得在進行注冊的時候只能使用 或者- 需要一個觸發者和一個執行者&#xff0c;類似于Observer模式中的Subject和Observer&#xff08;當一個對象的狀態發生改變時&#xff0c;所有依賴于他的對象都會得到通知…

android 組建水平居中,Android開發借助LinearLayout實現垂直水平居中布局

釋放雙眼&#xff0c;帶上耳機&#xff0c;聽聽看~&#xff01;在Android應用程序的開發中&#xff0c;有時需要限制水平和垂直屏幕的切換&#xff0c;今天這篇文章是技術狗小編為大家整理的Android應用借助LinearLayout實現垂直水平居中布局&#xff0c;希望對你學習這方面有所…

我不想再活在別人的世界里

我過多的關注別人的世界。 卻沒有去尋找屬于自己的故事 總是猶豫著要不要出發 然后發現 一天就這么過去了。 轉載于:https://www.cnblogs.com/zjjsxuqiang/p/3445392.html

面壁人VS智子 --- 搜索排序的作弊和反作弊

搜索引擎已經是目前網絡流量最大入口&#xff0c;在大搜上&#xff0c;基本上大家打開網頁做的第一件事情就是打開一個搜索引擎&#xff0c;然后鍵入你感興趣的內容&#xff0c;然后開始瀏覽。如果是個電商的網站&#xff0c;你打開以后&#xff0c;基本上也是直接鍵入你感興趣…

(轉)網站推廣優化教程100條(SEO,網站關鍵字優化,怎么優化網站,如何優化網站關鍵字)...

網站推廣優化教程100條&#xff08;完整版)下面介紹新手建站推廣完美教程&#xff0c;各位根據自己的實際情況酌情選用&#xff1a; 1、準備個好域名。①.盡量在5位數內&#xff0c;當然也不一定&#xff0c;反正要讓用戶好記。&#xff08;看個人&#xff09;&#xff1b;②.盡…

Android中attrs.xml文件的使用詳解

$*********************************************************************************************$博主推薦&#xff1a;風蕭兮兮易水寒&#xff0c;“天真”一去兮不復還。如何找到天真的那份快樂。小編傾力推薦app: 天真無諧下載方式&#xff1a;豌豆莢&#xff0c;應用寶…

細說JavaScript對象(1):對象的使用和屬性

JavaScript 中的一切都可以視為對象&#xff0c;除了兩個特例&#xff1a;null 和 undefined。 false.toString(); // false [1, 2, 3].toString(); // 1,2,3function Foo(){} Foo.bar 1; Foo.bar; // 1 一個經常容易被誤解的就是數字常量不能視為對象&#xff0c;實際上數字常…

學習筆記:InnoDB存儲結構及多版本實現

因為InnoDB是多版本化的數據庫存儲引擎, 它必須在表空間中保存關于舊版本數據行的信息。這個信息被存在名為rollback segment&#xff08;類似于Oracle中的回滾段&#xff09;的數據結構中。 在內部&#xff0c;InnoDB給數據庫中的每一行添加三個域。一個是6字節的DB_TRX_ID域&…

access2003的使用

access2003中如何用sql語句創建表 http://zhidao.baidu.com/link?urldinVbwoI20Xz__NbcIeBPdkjeXRWmZNB0xJvdr0eMBqNflv_JcWgUoPw3ozFfqnTQ9FLkNv0XXs9loDR2Oc7Oq SQL 數據定義查詢創建表&#xff1a; 第一張表&#xff08;藏書&#xff09; CREATE TABLE 藏書 (書號 Text(10)…

再見安卓 鴻蒙,安卓系統:鴻蒙系統,正式再見

原標題&#xff1a;安卓系統&#xff1a;鴻蒙系統&#xff0c;正式再見華為手機不能使用谷歌GMS服務已經差不多一年時間&#xff0c;據悉華為明年最新旗艦P40系列仍然不能使用GMS&#xff0c;最近爆料大神數碼閑聊站稱谷歌將不給華為手機授權Android R(安卓11系統)&#xff0c;…

Android 隱式意圖的配置

本文地址&#xff1a;http://www.cnblogs.com/wuyudong/p/5677473.html&#xff0c;轉載請注明源地址。 《Android 顯示意圖激活另外一個Actitity》一文介紹了一種激活Activity的方法 本文通過清單文件&#xff08;AndroidManifest.xml&#xff09;來實現意圖的配置 Intent-fil…

fpga中wire和reg的區別

wire表示直通&#xff0c;即只要輸入有變化&#xff0c;輸出馬上無條件地反映&#xff1b;reg表示一定要有觸發&#xff0c;輸出才會反映輸入。wire表示直通&#xff0c;即只要輸入有變化&#xff0c;輸出馬上無條件地反映&#xff1b;reg表示一定要有觸發&#xff0c;輸出才會…

Django Tips

新加admin.py需重啟自帶Web服務器才能顯示Admin保存設置外鍵的默認值http://stackoverflow.com/questions/937954/how-do-you-specify-a-default-for-a-django-foreignkey-model-or-adminmodel-fieldhttp://stackoverflow.com/questions/5632848/django-default-value-for-user…

wordpress html音樂,WordPress引用百度Ting音樂方法

對于個人博客來說&#xff0c;要在文章中添加音樂&#xff0c;如果放在自己服務器上&#xff0c;一方面是成本問題&#xff0c;其次&#xff0c;大部分博主用的國外服務器&#xff0c;而國外對版權看得比較重&#xff0c;基本上不允許上傳音樂&#xff0c;所以我們通常都是通過…