OC語言基礎二 OC自定義構造方法

2021-09-17 04:50:55 字數 1042 閱讀 5838

自定義構造方法

通過自定義構造方法,可以在建立初始化物件的時候同時完成物件中屬性的初始化。

#import @inte***ce person:nsobject

-(instancetype)initwithname:(nsstring*)name;

-(instancetype)initwithage:(nsstring*)age;

-(instancetype)initwithname:(nsstring*)name age:(nsinteger)age ***:(nsstring*)***;

#import "person.h"

@implementation person

-(instancetype)initwithname:(nsstring*)name

return self;

}-(instancetype)initwithname:(nsstring*)name age:(nsinteger)age ***:(nsstring*)***

return self;

}

優化,有相同或相似的邏輯實現,可以考慮封裝成乙個方法,來完成方法的呼叫:

-(instancetype)initwithname:(nsstring*)name

在if判斷裡給屬性賦值

呼叫:

person *person=[[person alloc]initwithname:@"張三"];

person=[[person alloc]initwithname:@"張三",age:10,***:@"男"];

為了在列印類的時候能看到有用的資訊,就可以重寫description方法:

OC 自定義 setDateFormat 顯示格式

nsstring getstringfromdate nsdate adate 以下是setdateformat可使用的英文代號 紀元的顯示 g 顯示ad,也就是公元 年的顯示 yy 年的後面2位數字 yyyy 顯示完整的年 月的顯示 m 顯示 成1 12,1位 數或2位 數mm 顯示成01 12,...

OC中重寫構造方法及自定義構造方法

構造方法 用來初始化物件的方法 如 person p person alloc init alloc用來分配記憶體空間 init初始化,也就是oc中的構造方法 重寫構造方法 instancetype init if self super init age 18 return self 將構造方法初始...

OC自定義物件的copy

一 概念 1 copy的目的在於修改源物件或者副本的時候互不影響 2 只有在不可變物件copy的時候才是淺拷貝,其餘都是深拷貝 二 自定義物件的copy 必須首先遵守nscopying協議 1 自定義物件copy的必要步驟 1 遵守nscopying協議 2 重寫 實現copywithzone 方法...