1. 所有敘述句以分號(;)結尾
2. Xcode is case-sensitive
3. 變數名稱不可為保留字、不可用數字開頭、不可有空白
4. 變數名稱可以用_作為開頭
5. 敘述句可適當的使用空白讓程式碼較易閱讀
6. 宣告變數 int(資料型別) picWidth(變數名稱);(結束符號),若要宣告兩個以上同樣型別的變數,可用(,)隔開,例如: float x1=10.2,y1=11.3;
7. 若確定一個變數值永遠大於或等於0,宣告時可使用unsigned,例如unsigned int,以擴展變數值的範圍,充份利用所有可用的位元組
8. 運算子%只能用在整數上,例如:21%7
9. 單行註解//,多行註解/*.....*/
10. 每個程式至少有一個函式(function):main(){},也是執行的起點
11. 函式不是巢狀的
12. 需要指定回傳型別給函式,例如 int Count(){return xxx;}
13. 如果函式沒有回傳值,則指定void型別,return可有可無,但不可接任何數值或變數名,例如 void count(){}或是void count(){return;}
14. 若一個函式有多個引數(argument),彼此以逗號(,)隔開
15. main(){}執行完畢需回傳一個整數(0:正常執行)
int main(){return 0;}
16. 若在main(){}需要呼叫其他自訂函式,需在main之前進行函式宣告(function declaration),函式宣告不需要{},以分號結束
int addCompute(int x,int y);
int main(){....addCompute(x,y);return 0;}
int addCompute(int x,int y){//body}
17. 只要沒有改變函式宣告,可以任意對函式內容進行修改而不影響其他部分的運作=函式的程式碼從主程式中分離出來=Objective C的重要功能?
18. NSLog(@"......")為Cocoa提供的函式,主要被設計來顯示錯誤訊息,除了字串以外,印出資訊包含了目前的程式名稱與日期等,
若要使用,需要先行匯入(import)。#import <Foundation/Foundation.h>
19. 反斜線(\)稱為脫逸字元(escape),負責告知編譯器下個字元具有特殊處理意義,例如\n代表開始新行
20. \\編譯器便不會將下個字元當作特殊意義字元,因此可印出\
21. %d(decimal number)和%f,在輸出時,位置會被逗號(,)後的變數值取代
22. %.2f,輸出時會印出帶有兩位小數的浮點數
23. 可藉由在%d(%f)中間插入整數來調整輸出時的寬度(顯示字元的寬度),若指定寬度比數值本身寬度小,將會採用數值本身寬度。
例如x=123456
NSLog(@"%4d",x)->123456->字串總長度6
NSLog(@"%8d",x)-> 123456->字串總長度8
24. 同時控制寬度和小數%10.2f
25. 由終端機(?)執行的程式開頭第一個字小寫,具圖形化介面的程式第一個字大寫
26. Xcode提供了虛擬資料夾(Groups)來組織GUI所需的檔案,所以無法在實體路徑找到這些資料夾
27. 副檔名.m的檔案代表是內含main(){}的檔案
28. 傳遞訊息的一般格式,[接收方物件 方法 :引數],例如[textField setIntValue:0]
29. 所有物件的父親:NSObject-定義了所有物件所共用的方法
30. NS...是apple命名時慣用的前綴詞,要避免使用,其他請參考http://www.cocoadev.com/index.pl?ChooseYourOwnPrefix
31. 標頭檔(.h)包含了關於類別的資訊
32. &變數名=取得變數位址(address)
33. 指標(pointer)=含有其他變數位址的變數
34. 宣告指標 變數型態 *變數名,例如:int *y=&x (y含有型別為int的變數x的位址)
35. 在指標前寫上星號可取得它所指向的變數,例如對*y求值=對x求值
36. *y=5相當於指定x=5
37. 資料型別:integer(int)、BOOL、long、float、double、pointer
38. 字串屬於物件,由NSString/NSMutableString類別建成,前者建立的字串不能被修改(immutable)
39. Objective-C指定字串內容時需前置@,以和C的字串區隔
40. Objective-C的字串是Unicode
41. Objective-C不直接對物件操作,而是透過指標達到操作目的
書中範例......
NSString *test;
test=@"I have a question";
為什麼不是*test=@"......"?
42. 陣列:有序的物件指標串列,第一個索引值是0,由NSArray/NSMutableArray類別提供
43. 建立陣列[NSArray array]
44. 在Cocoa文件中,可以在類別上呼叫的方法以"+"表示
45. 計算陣列元素個數:count
46. 找出index所在的陣列元素:objectAtIndex
47. 新增陣列元素:addObject
48. 置換陣列元素:replaceObjectAtIndex:withObject:
49. Cocoa設計了Counter來表示某物件被參照的個數(保留數),當某物件的Counter=0時,表示此物件可以被消滅
50. 增加一個物件的保留數使用retain,減少使用release
第一本書ko