記錄一個快速創(chuàng)建tabbar的方法

OC中每個對象都有一個對應(yīng)的class屬性,而我們之所以能創(chuàng)建不同的對象,就是因為他們的class不同.class不一定用來創(chuàng)建對象,但對象一定離不開class。

Runtime中有這樣一個函數(shù)NSClassFromString(NSString *aClassName)可以根據(jù)傳入的類名返回一個對應(yīng)的class,而拿到class之后,我們可以則直接通過[class new]或者[[class alloc] init]來創(chuàng)建相應(yīng)的對象.通過這個屬性,我們可以把他封裝到tabbar的創(chuàng)建中,創(chuàng)建時只需要傳入類名即可。

-(void)creatBarButtonClassAry:(NSArray<NSString*>*)classAry titleAry:(NSArray<NSString*>*)titleAry imageAry:(NSArray<UIImage*>*)imageAry selectedImageAry:(NSArray<UIImage*>*)selectorImageAry{
    
    NSMutableArray*vcArr=[NSMutableArray array];
    for (int i = 0; i<titleAry.count; i++) {
        Class vcClass=NSClassFromString(classAry[i]);
        
        UITabBarItem*item=[[UITabBarItem alloc]initWithTitle:titleAry[i]?:nil image:imageAry[i]?:nil selectedImage:selectorImageAry[i]?:nil];
        UIViewController*vc=[vcClass new];
        [vc setTabBarItem:item];
        [vcArr addObject:vc];
    }
    self.viewControllers=vcArr;
    
}

調(diào)用的時候直接傳入類名就可以了

- (void)viewDidLoad {
    [super viewDidLoad];
    [self creatBarButtonClassAry:@[@"ListViewController",@"UserViewController",@"FriendViewController",@"SetViewController"] titleAry:@[@"聊天",@"用戶",@"朋友",@"設(shè)置"] imageAry:nil selectedImageAry:nil];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,562評論 19 139
  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,058評論 0 9
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,415評論 6 13
  • 簡單閾值 這里,問題很簡單,如果像素值超過閾值,就給分配一個值(可能是白色),否則給分配另一個值(可能是黑色)。用...
    xxxss閱讀 5,047評論 1 52
  • 不知道什么時候產(chǎn)生的情愫,將干澀的內(nèi)心充斥的滿滿當(dāng)當(dāng),就好像雨后的水庫,將要漫過堤壩似的,只要一有小風(fēng)兒拂過,就會...
    艽原閱讀 351評論 0 6

友情鏈接更多精彩內(nèi)容