oc008---xcode的使用注意事項(逐步補充當中)

  1. 取消ARC
    要想手動調用retain、release等方法,在創建項目的時候不要勾選ARC
    目前已經默認爲使用arc。所以要想修改必須在xcode中將默認的yes修改成no
    這裏寫圖片描述

  2. 開啓殭屍對象監控
    默認情況下,Xcode是不會管殭屍對象的,使用一塊被釋放的內存也不會報錯。爲了方便調試,應該開啓殭屍對象監控
    這裏寫圖片描述

重點內容
xcode 左邊導航欄中,類文件後面的標記“A”,”M”,”?,有需要的朋友可以參考下。

“M” =Locallymodified
“U” =Updatedinrepository
“A” =Locallyadded
“D” =Locallydeleted
“I” =Ignored
“R” =Replacedintherepository
“–” “=” Thecontentsofthefolderhavemixedstatus;displaythecontentstoseeindividualstatus
“?” =Notundersourcecontrol

‘A’新增

‘D’刪除
‘M’修改
‘R’替代
‘C’衝突
‘I’忽略
‘?’未受控
‘!’丟失,一般是將受控文件直接刪除導致

這些標記跟你使用的代碼託管工具或者xcode自帶的svn代碼託管工具有關,怎樣消除:

1、代碼中 某文件後面有 “M” 標記,表示該文件已被修改,需要 commit.
(右鍵該文件 -> source control -> commit selected file…)
2、代碼中 某文件後面有 “A” 標記,表示該文件是新添加的,已受SVN管理,需要 commit.
(右鍵該文件 -> source control -> commit selected file…)
3、代碼中 某文件後面有 “?” 標記,表示該文件是新添加的,並且脫離了SVN的管理,首先需要add,然後 commit.
(右鍵該文件 -> source control -> Add,這樣該文件的標記就變爲 “A”,然後在 commit)
4、代碼中 某文件後面有 “D” 標記,表示該文件在服務器上已被刪除,這時update的話,可刪除本地的文件。
5、代碼中 某文件後面有 “C” 標記,表示該文件與服務器的文件衝突。

一、快捷鍵的使用

經常用到的快捷鍵如下:

新建

shift + cmd + n 新建項目

cmd + n 新建文件

視圖

option + cmd + 回車 打開助理編輯器

cmd + 回車 顯示主窗口

cmd + 0 導航窗口

option + cmd + 0 工具窗口

在.m & .h之間切換 control + cmd + 上/下

按照瀏覽文件的前後順序切換 control + cmd + 左右

查看頭文件 control + cmd + j

切換到對應的函數control + 6 支持智能輸入,注意輸入法

運行

cmd + r 運行

cmd + . 停止

cmd + b 編譯

cmd + shift + b 靜態內存分析編譯,可以檢查程序結構上是否存在內存泄露

排版

control + i         將選中按鈕重新縮進

cmd + ]             向右增加縮進

cmd + [             向左減少縮進

cmd + /             註釋/取消註釋,提示:取消註釋時,註釋雙斜線必須在行首

cmd + 向上           到文件開始位置

cmd + 向下           到文件末尾位置

二、OC專有註釋

註釋形式和效果

(1)#pragma mark 註釋
這裏寫圖片描述
(2)#pragma mark- 註釋
這裏寫圖片描述

三、warning的使用(注意)

使用形式:

#warning 代碼還沒有寫完

可以幫助我們對代碼進行快速的定位

http://images.cnitblog.com/i/450136/201405/251739146063542.png

四、代碼塊的使用

對於經常使用的代碼塊,可以以代碼塊的方式保存起來,設置提示詞,以便快速的編碼。
這裏寫圖片描述

設置
這裏寫圖片描述

對代碼塊進行適當的編輯

使用<#name#>和<#type#>讓保存的代碼塊不被“寫死”;

設置後的提示效果:
這裏寫圖片描述

五、打印內容查看(重寫description方法的技巧)

代碼示例:   

- (NSString *)description
{
    // 包含對象類型名稱,以及對象的指針地址
    return [NSString stringWithFormat:@"<%@: %p> {answer: %@, title: %@, icon: %@, options: %@}", [self class], self, self.answer, self.title, self.icon, self.options];
}

提示:

如果要在開發時,跟蹤對象的明細信息,可以重寫description方法,類似於java的toString()

爲根類添加一個擴展

1 #import "NSArray+Log.h"
 2 
 3 @implementation NSArray (Log)
 4 
 5 - (NSString *)descriptionWithLocale:(id)locale
 6 {
 7     // 遍歷數組中的所有內容,將內容拼接成一個新的字符串返回
 8     NSMutableString *strM = [NSMutableString string];
 9     
10     [strM appendString:@"(\n"];
11     
12     // 遍歷數組,self就是當前的數組
13     for (id obj in self) {
14         // 在拼接字符串時,會調用obj的description方法
15         [strM appendFormat:@"\t%@,\n", obj];
16     }
17     [strM appendString:@")"];
18     return strM;
19 }
20 
21 @end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章