自定義構造方法
通過自定義構造方法,可以在建立初始化物件的時候同時完成物件中屬性的初始化。
#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 方法...