@interface使用详解
生活随笔
收集整理的這篇文章主要介紹了
@interface使用详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.@interface可以實現(xiàn)三種功能:(1)聲明類:Class(2)聲明類別:Category(3)聲明擴展:Extension
2.聲明類:這個就比較常用了,在這里不多說。代碼:@interface SomeClass : NSObject <SomeDelegate>{}@end
3.聲明類別:(1)類別能在不更改原來的類代碼的情況下,為類增加方法或者重寫類的方法。(2)類別只能添加或者重寫方法,但是不能添加變量。(3)有網(wǎng)友說將類別名設定為“Private”,就能使類別中增加的方法成為私有方法,這個是不成立的(經(jīng)過實際代碼驗證)。(4)如果是重寫類的已經(jīng)存在的方法,則此重寫的方法會在整個運行環(huán)境中生效,而且不需要在用到的地方導入實現(xiàn)類;? ? 如果是為類增加新的方法,則需要在用的地方導入。(5)代碼:@interface ClassName(類別名){}@end
4.聲明擴展:(1)擴展和類別語法上的的區(qū)別很簡單,就是類別名省略,只保留括號。(2)擴展只是增加原來類的方法和變量的聲明,而不包含實現(xiàn),所以,擴展沒有獨立的實現(xiàn)(@implementation),而是和原來的類共享一個實現(xiàn)。(3)擴展不僅能在原來類的基礎上增加方法,也能增加變量。(4)如果將擴展寫到實現(xiàn)文件中,則增加的變量和方法就是私有變量和私有方法。(5)代碼:@interface ClassName(){ ?}@end
2.聲明類:這個就比較常用了,在這里不多說。代碼:@interface SomeClass : NSObject <SomeDelegate>{}@end
3.聲明類別:(1)類別能在不更改原來的類代碼的情況下,為類增加方法或者重寫類的方法。(2)類別只能添加或者重寫方法,但是不能添加變量。(3)有網(wǎng)友說將類別名設定為“Private”,就能使類別中增加的方法成為私有方法,這個是不成立的(經(jīng)過實際代碼驗證)。(4)如果是重寫類的已經(jīng)存在的方法,則此重寫的方法會在整個運行環(huán)境中生效,而且不需要在用到的地方導入實現(xiàn)類;? ? 如果是為類增加新的方法,則需要在用的地方導入。(5)代碼:@interface ClassName(類別名){}@end
4.聲明擴展:(1)擴展和類別語法上的的區(qū)別很簡單,就是類別名省略,只保留括號。(2)擴展只是增加原來類的方法和變量的聲明,而不包含實現(xiàn),所以,擴展沒有獨立的實現(xiàn)(@implementation),而是和原來的類共享一個實現(xiàn)。(3)擴展不僅能在原來類的基礎上增加方法,也能增加變量。(4)如果將擴展寫到實現(xiàn)文件中,則增加的變量和方法就是私有變量和私有方法。(5)代碼:@interface ClassName(){ ?}@end
總結
以上是生活随笔為你收集整理的@interface使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云服务和serverless
- 下一篇: GCD简介二:多核心的性能