1. oc語言的特點
objective-c,通常寫作objc, oc和較少用的
objective c或obj-c,是擴充c的物件導向程式設計語言。
objective-c是靜態的,強型別定義的語言。
只允許單根繼承(cocoa中的根是nsobject)。
2. 常量
程式執行過程中,值不能被改變的量稱為常量。
比如1, -1.2, 『a』等等。
3. 變數
什麼是變數(variables);
變數應該有名字,變數命名規範:
1. a-z, a-z, 0-9, _, $;
2. 首字元不可以是數字;
3. 不可以用系統保留字;
4. 比較推薦的命名規範;
(此規範同時也適用於函式名的命名)
tip:注意變數名和變數值的區別。
4. 關鍵字
語言當中已經定義好的,具有特殊意義和用途的標識
符,又稱保留字。
比如:int, float, id
if, for
continue, return
inte***ce, implementation
self, super
public, private等等
5. 資料型別
為什麼要有資料型別 (data type)?
資料型別有哪些?
int, float, double, bool, char, nsstring等;
objective-c中特殊的資料型別:id, nil, sel;
6. 語句
一行可以執行的**,以分號(;)結束
比如:int a =3;
nsstring* str = [[nsstring alloc]initwithformat:@"%@",strpara];
空語句:只有由分號「;」組成的語句。
空語句是什麼也不執行的語句;
在程式中可以用空語句來做空迴圈體,比如:
while(yes)
2. 下面的程式輸出是什麼?
! int i = 3;!
! printf("%d\n", i++);
! int j = i;
! printf("%d\n", j);
! printf("%d\n", ++i);
(tip: 注意nslog和printf)
9. @符號
1. @符號
objective-c中大部分的關鍵字都是以@開頭的
比如@inte***ce, @implementation, @end, @class等等。
單純從語法上來說,這點比較像動態程式語言。
2. @」」
這個符號表示將乙個c的字串轉化為objective-c中的
字串物件nsstring.
ns字首
ns來自於nextstep的乙個軟體next software;
objective-c中不支援命名空間(namespace);
ns是為了避免命名衝突而給的字首;
看到ns字首就知道是cocoa中的系統類的名字;
n
slog和格式化輸出
nslog和printf的比較:
nslog(@」%d, %f, %c, %@」,
intvar, floatvar, charvar, objectvar);
printf(」%d, %f, %c」, intvar, floatvar, charvar);
流程控制(一)
條件判斷語句:
1. if語句
2. switch語句:
switch(表示式)
{case 常量表示式1:語句1; break;
case 常量表示式2:語句2; break;
...case 常量表示式n:語句n; break;
default :語句年+1; break;
}
流程控制 (二)
迴圈語句:
1. while語句
2. do while語句
3. for語句
while(yes)
for(int i=1; i<3; i++)
流程控制(三)
跳轉語句:
break, continue, return
例如:-(bool) test
! ! nslog(@"%d",i);
! }! return yes;
}tip: break和continue的區別.
注釋:
objective-c中的注釋有兩種:
單行注釋://
多行注釋:/* */
程式編譯時,不對注釋做任何處理;
注釋可以出現在程式的任何位置;
#pragma mark
乙個編譯指令,它的作用是提供了一種可以清晰地給
眾多的方法做組織分類的手段。
或者說,它可以幫助我們更好地組織實現**。
Objective C語言特性
1.objective c建立在c語言之上,他是在c語言基礎上新增擴充套件而來能夠建立和操作物件的一門心的設計語言。2.objective c是ansi c的超集,可以混編c和c 3.可以在現存c編譯器基礎上實現,不需要編寫全新的編譯器。在mac系統上編寫objective c一般都使用xcode編...
Objective C語言 Category類目
在工程項下個找到viewcontroller.m檔案 tool.h import inte ce tool nsobject 原類的屬性 property nonatomic,strong nsstring property1 void function1 pragma mark 類目 在類目中為原...
Objective C 記憶體管理基礎
之前的兩篇拙文c語言 記憶體管理基礎 c語言 記憶體管理深入 介紹了關於c語言在記憶體管理方面的相關知識。但是對於從事ios開發的同胞們來說,顯然objective c用的更多,所以筆者想用兩篇文章盡量完整的介紹一下objective c的記憶體管理,本文為第一部分,將從類和物件 所有權策略及引用計...