標籤:
1. 檔案介紹:Objective-C 也使用標頭檔(header files),尾碼為 .h, 但使用 .m(即 message, 其他物件導向程式設計語言也叫 method),作為源檔案的尾碼。
在objective-c中使用#import<>,而不使用#include<>,#import可以保證標頭檔只被包含一次。
2. 與C一致的地方: 資料類型,運算式,各種運算子
迴圈:for, while, do while, break, continue 分支:if, else, switch
3.NSlog()函數:與printf()類似,想控制台輸出資訊。但它增加了一些特性,如時間戳記等。 【cocoa對起所有的函數,常量和類型名稱都添加了NS首碼。】
4.雙引號的前面的@表示這雙引號中的字串應該作為cocoa的NSString元素來處理。
5.布爾類型BOOL:值為YES,NO;
6.%d表示輸出整數%@表示輸出NSString類型 %s表示輸出字串數組(char*);
7. objective-c中的方括弧: 1. 用於通知某個對象該做什麼。
2. 方括弧內第一項是對象,其餘部分是你需要對象執行的操作。
3. 在objective-c中通知對象執行某種操作,稱為發送訊息。(也叫調用方法)
8. 標識符id:是一種泛型,用於表示任何種類的對象。
9. 類聲明@interface:
@interface Circle:NSObject //為Circle類定義介面;NSObject表示是父類。
{//以下是資料成員
ShapeColor fillColor;
ShapeRect bounds;
}
//以下是方法聲明
-(void) setFillColor: (ShapeColor) fillColor; // 前面的短線表明這是方法聲明//短線後面是方法的傳回型別//接著是方法名
// 冒號後面是參數,其中(ShapeColor)是參數類型, fillColor是參數名
-(void) setBounds:(ShapeRect) bounds; -(void) draw; // 減號就是普通函數 加號就是靜態函數 @end //結束聲明
objective-c看到@符號,就把它看成是C語言的擴充。 一個類的完整聲明如下:
@interface CClassA(Category): CBaseClass<IA,IB...> //類名(類別名):父類<協議>
10. 類實現@implementation
@implementation @implementation Circle
-(void) setFillColor: (ShapeColor) c
{
fillColor=c;
}
-(void) draw
{
NSLog(@”drawing a circle at(%d %d %d %d) in %@”,
bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillName));
}
@end
隱藏對象self對應於C中的this。 Self->fillcolor來訪問成員變數。
11. 調用寫好的類和類函數:
//建立新對象,使用預設初始化函數
Bank *bankDefault = [[Bank alloc] init]; //調用方法:
[bank addAmount: 1]; [bank print]; // 釋放對象:
[bankDefault free];
12.
兩個參數的方法:
-(void) setTire: (Tire *) tire //聲明
atIndex: (int) index;
//使用
[car setTire:tire atIndex:2];
http://www.itheima.com/
黑馬程式員——OC與C語言的異同比較