instancetype在類型表示上,跟id一樣,可以表示任何對象類型2>instancetype只能用在返回值類型上,不能像id一樣用在參數類型上3>instancetype比id多一個好處:編譯器會檢測instancetype的真實類型第3點的解釋:在下面這種情況下//Person.m文件里+(id)person{return[[selfalloc]init];}//mainViewController.m,下面這行代碼,用字符串類型的指針指" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

iOS instancetype和id的區別

系統 2393 0

區別: 

1>instancetype在類型表示上,跟id一樣,可以表示任何對象類型

2>instancetype只能用在返回值類型上,不能像id一樣用在參數類型上

3>instancetype比id多一個好處:編譯器會檢測instancetype的真實類型

第3點的解釋: 在下面這種情況下
// Person.m文件里
+ (id)person{
? ? ?return [[self alloc] init];
}
// mainViewController.m,下面這行代碼,用字符串類型的指針指向Person類的對象,編譯通過,因為person返回的id類型,任何指針都可以指向它
NSString *str = [Person person];
?
// 如果用instancetype,編譯時,會有警告.也就是說instancetype比id多了檢測真實類型的功能,可以提前暴露程序存在的風險
+ (instancetype)person{
? ? ?return [[self alloc] init];
}
NSString *str = [Person person]; //會有警告,[Person person]返回的Person類型, 警告信息:把Person類型的數據賦值給字符串類型
?

// 可以這么說,作為返回值時,凡是用id的地方,都建議換成instancetype,例如下面的代碼
- (instancetype)initWithDic:(NSDictionary *) app
{
??? if(self == [super init]){
   ?self.name = app[@"name"];
??????? self.icon = app[@"icon"];
??? }
??? return self;
}
+ (instancetype)initWithDic:(NSDictionary *) app
{
??? return [[[self alloc]init] initWithDic:app];
}
?

iOS instancetype和id的區別


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91青青草视频在线观看 | 黄免费看| 久久精品无码一区二区日韩av | 人人爱人人草 | 亚洲国产精品久久久 | 91精品久久久久久久久网影视 | 免费又色又爽1000禁片 | 一道本在线观看视频 | 欧美一区二区三区免费观看视频 | 九九久久99| 国产小视频免费在线观看 | 久久青 | 九九九九九九精品免费 | 青娱乐免费视频观看 | 国产成人免费视频网站高清观看视频 | 欧美精品综合一区二区三区 | 国产精品a久久久久 | 国产人成精品综合欧美成人 | 艳妇荡乳豪妇荡淫 | 小泽玛丽娅 | 六月综合激情 | 天天久久| 国产超碰人人做人人爱 | 国产成人高潮免费观看精品 | 狠久久| 成人片网址 | 欧美在线看 | 波多野结衣三级在线观看 | 国产性色视频在线高清 | 免费黄色av| 亚洲国产日韩在线一区 | 99视频在线 | 欧洲成人精品 | 久久好在线视频 | 日产一卡二卡乱码免费 | 波多野结衣手机在线播放 | 久久亚洲网| 中文无码日韩欧 | 成人精品视频一区二区三区 | 99爱国产 | 日韩中文一区二区三区 |