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

 

shiuaner 發表在 痞客邦 留言(0) 人氣()