Attributes in Clang

Clang官方文檔:Clang documentation

  • objc_runtime_name
    用于 @interface 或 @protocol尚卫,指定類或協(xié)議編譯后的名字
    attribute((objc_runtime_name("MyLocalName")))
    @interface Message
    @end
    // (lldb) po [self class]
    // MyLocalName

  • objc_requires_super
    指定子類覆寫該方法時需要調(diào)用父類方法

The attribute to designate that a method requires a “call to super
” in the overriding method in the subclass.

  - (void)foo __attribute__((objc_requires_super));
  • objc_subclassing_restricted
    禁止繼承
    attribute((objc_subclassing_restricted))
    @interface A : NSObject
    @end

    @interface B : A //  Cannot subclass a class with objc_subclassing_restricted attribute
    @end
    
  • objc_runtime_visible
    禁止繼承和category

This attribute specifies that the Objective-C class to which it applies is visible to the Objective-C runtime but not to the linker. Classes annotated with this attribute cannot be subclassed and cannot have categories defined for them.

  • constructor / destructor
    添加這兩個屬性的函數(shù)會在分別在可執(zhí)行文件(或 shared library)load 和 unload 時被調(diào)用她奥,即main()函數(shù)調(diào)用前和main()函數(shù)return后執(zhí)行,執(zhí)行順序:+load -> constructor -> main -> destructor

    __attribute__((constructor))
    static void beforeMain(void) {
        NSLog(@"%s", __func__);  // beforeMain 
    }
    
    __attribute__((destructor))
    static void afterMain(void) {
        NSLog(@"%s", __func__);  // afterMain (main函數(shù)return后執(zhí)行)
    }
    

    constructor可控制優(yōu)先級娜氏,如__attribute__((constructor(101))),數(shù)字越小優(yōu)先級越高烙丛,1-100為系統(tǒng)保留。

  • cleanup
    聲明的變量作用域結(jié)束后調(diào)用指定函數(shù)

    {
        __strong XXObject *obj __attribute__((cleanup(cleanuptest))) = [[XXObject alloc]init];
        [obj test];
    }
    NSLog(@"end");
    
    static void cleanuptest(__strong XXObject **obj)
    {
        XXObject *obj_t = *obj;
        NSLog(@"%s", __func__);
    }
    
    // 2016-05-25 15:38:08.350 Test[2559:159531] cleanuptest
    // 2016-05-25 15:38:08.350 Test[2559:159531] -[XXObject dealloc]
    // 2016-05-25 15:38:08.350 Test[2559:159531] end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末趴捅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子霹疫,更是在濱河造成了極大的恐慌拱绑,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丽蝎,死亡現(xiàn)場離奇詭異猎拨,居然都是意外死亡,警方通過查閱死者的電腦和手機屠阻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門红省,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人国觉,你說我怎么就攤上這事吧恃。” “怎么了麻诀?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵痕寓,是天一觀的道長。 經(jīng)常有香客問我针饥,道長厂抽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任丁眼,我火速辦了婚禮筷凤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘苞七。我一直安慰自己藐守,他們只是感情好,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布蹂风。 她就那樣靜靜地躺著卢厂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惠啄。 梳的紋絲不亂的頭發(fā)上慎恒,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音撵渡,去河邊找鬼融柬。 笑死,一個胖子當著我的面吹牛趋距,可吹牛的內(nèi)容都是我干的粒氧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼节腐,長吁一口氣:“原來是場噩夢啊……” “哼外盯!你這毒婦竟也來了摘盆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤饱苟,失蹤者是張志新(化名)和其女友劉穎孩擂,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箱熬,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡肋殴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坦弟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片护锤。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖酿傍,靈堂內(nèi)的尸體忽然破棺而出烙懦,到底是詐尸還是另有隱情,我是刑警寧澤赤炒,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布氯析,位于F島的核電站,受9級特大地震影響莺褒,放射性物質(zhì)發(fā)生泄漏掩缓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一遵岩、第九天 我趴在偏房一處隱蔽的房頂上張望你辣。 院中可真熱鬧,春花似錦尘执、人聲如沸舍哄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽表悬。三九已至,卻和暖如春丧靡,著一層夾襖步出監(jiān)牢的瞬間蟆沫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工温治, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饭庞,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓罐盔,卻偏偏與公主長得像但绕,于是被迫代替她去往敵國和親救崔。 傳聞我的和親對象是個殘疾皇子惶看,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 原網(wǎng)址:http://clang.llvm.org/docs/AttributeReference.html#id...
    微末凡塵_閱讀 786評論 0 0
  • Objective-C語言是一門動態(tài)語言捏顺,它將很多靜態(tài)語言在編譯和鏈接時期做的事放到了運行時來處理。這種動態(tài)語言的...
    有一種再見叫青春閱讀 590評論 0 3
  • 夜蕩鏡水孤燈搖纬黎, 獨釣明月聽竹濤幅骄。 闌珊鶯歌清平樂, 忽有霓裳舞洞簫本今。
    獨戀江南月閱讀 231評論 0 2
  • 道田青汁的原材料大麥苗冠息,來自自家專屬有機農(nóng)場挪凑,選用不使用化肥、農(nóng)藥種植的冬季大麥苗逛艰。冬季大麥苗于10月底播種躏碳,3月...
    久九商會閱讀 188評論 0 0
  • 福建武夷山世界文化遺產(chǎn)地城村的村民都聽老一輩的人傳說,城村有一百口老井散怖」矫啵可是人們數(shù)來數(shù)去只有九十九口。有頂真的村民...
    綠洲笑翁梁樹邦閱讀 2,127評論 0 0