分別在.h和.m檔案開頭處
@inte***ce和@implementation都可以說是介面
oc中的類必須包括兩部分,inte***ce部分和implementation部分,這才是oc中的乙個類的完整宣告;然後oc中將成員變數和成員方法的宣告部分放置在inte***ce部分中,包括繼承關係,protocal實現關係,都在inte***ce裡面的頭部進行宣告,然後將實現部分放置在implementation部分中,相當於是將類拆分成宣告和實現兩部分,這兩部分缺一不可,所以在oc中,不妨不要將inte***ce和implementation叫做介面,直接叫做類宣告部分和實現部分來得容易理解多了,簡而言之,oc中inte***ce是類的乙個部分,和implementation共同組成乙個完整的類。
(1).@property 屬性 :
在xcode4.5之後,屬性一共可以做了三件事:
1.宣告了設定器:setter和訪問器:getter
2.實現了設定器和訪問器
3.宣告了乙個成員變數,成員變數命名會在屬性名前面加乙個下劃線
(2).@sythesize1.@end 與 @ inte***ce 一起使用 在.m和.h檔案中
裡面可以寫:
(1).宣告類的屬性
(2).自定義初始化方法
(3).便利構造器等
2.@end 與@implementation 一起使用 在.m檔案中
裡面可以寫:
(1).實現類的方法
(2).自定義初始化方法
(3).便利構造器等
例子:
#define height self.view.frame.size.height
其中 height 是定義的新的名字. self.view.frame.size.height是程式中要用的名字,在標頭檔案的下面用#define定義就可以實現 height 和self.view.frame.size.height 完全相等,也就可以在下面的程式中直接使用
注意:define後面的新名字需要大寫例子:
typedef
int int;
typedef
int array[10];
typedef (int*) pint;
和巨集定義類似,typedef 也可以定義新的名字,只不過後面的int . array[10] 和 pint 是新名字,前面的是原來的名字
#define定義「可讀」的常量以及一些巨集語句的任務,而typedef則常用來定義關鍵字、冗長的型別的別名。
巨集定義只是簡單的字串代換(原地擴充套件),而typedef則不是原地擴充套件,它的新名字具有一定的封裝性,以致於新命名的識別符號具有更易定義變數的功能。
例子:
typedef (int*) pint;
#define pint2 int*
實踐中見差別:pint a,b;的效果同int *a; int *b;表示定義了兩個整型指標變數。而pint2 a,b;的效果同int *a, b;
表示定義了乙個整型指標變數a和整型變數b。
注意:1.typedef與const 一起用的時候不是簡單的字串替換
例子:
typedef
char* pstr;
然後:
int mystrcmp(const pstr, const pstr);
const pstr實際上相當於const char*嗎?不是的,它實際上相當於char* const。
原因在於const給予了整個指標本身以常量性,也就是形成了常量指標char* const。
簡單來說,記住當const和typedef一起出現時,typedef不會是簡單的字串替換就行。
2.typedef在語法上是乙個儲存類的關鍵字(如auto、extern、mutable、static、register等一樣),雖然它並不真正影響物件的儲存特性,如:
typedef static int int2; //不可行
編譯將失敗,會提示「指定了乙個以上的儲存類」。
所以說 , typedef只能替換乙個儲存類的關鍵字
位置:在標頭檔案下:
宣告乙份協議:
原**:
@protocol
marry
-(void)takebaby;
-(void)cook;
@end
-(void)takebaby;-(void)cook;是協議中的方法.
@protocol marry @required
-(void)takebaby;
@optional
-(void)cook;
@end
python關鍵詞大全 python的關鍵字有哪些
在python中若想查詢python中有哪些關鍵字。可以先導入keyword模組import keyword 匯入關鍵字模組 print keyword.kwlist 查詢所有關鍵字 查詢結果 false none true and as assert break class continue de...
二 關鍵詞 關鍵詞的選擇(二)
1 內容相關 2 搜尋次數多,競爭小 5 商業價值 一 內容相關 當然,這也不一定試用於某些 比如新聞門戶或者純粹依靠廣告贏利的資訊類 很多門戶類 包羅永珍,內容相關性判斷也比較模糊。對這些 來說,只要有流量,就有一定的價值,並不依靠本身的轉化贏利。二 搜尋次數多,競爭小 一般行業通稱都是國語寬泛的...
Python中關鍵詞用法
new 負責物件的建立,是建構函式,他需要返回乙個例項,它是乙個類的方法 init 負責物件的初始化,負責對 new s例項化的物件進行初始化,即對物件的狀態和屬性進行設定,他不允許有返回值 class student def new cls,name self super new cls prin...