iOS9新特性之__kindof
__kindof:一般用在方法返回值的前面修飾迹鹅,表示返回值可以是當(dāng)前類或者它子類,用在其他地方也同理丘侠。
__kindof書寫格式:
放在類型前面,表示修飾這個(gè)類型(__kindof Person *),表示可以是Person類或者它的子類在定義初始化類方法返回值類型的時(shí)候徒欣,最早使用id作為返回值類型,后來使用instancetype蜗字,現(xiàn)在可以使用__kindof加類名
@interface Person : NSObject
/*
id表示返回值可以是任意類型,它的壞處:
1. 不能在編譯的時(shí)候檢查真實(shí)類型
2. 返回值,沒有提示
*/
//+ (id)person;
// instancetype:會(huì)自動(dòng)識(shí)別當(dāng)前對(duì)象的類打肝,但是和__kindof相比它沒有提示
//+ (instancetype)person;
// __kindof Person *:表示可以是Person類或者它的子類,和instancetype相比,在調(diào)用的時(shí)候,很清楚的知道返回類型
+ (__kindof Person *)person;
// 僅僅表示只能是Person類
+ (Person *)person1;
@end