iOS里面 ViewController对象里面为什么可以调用tabBarItem这个属性???
//接口文件
#import <UIKit/UIKit.h>

@interface BNRHypnosisViewController : UIViewController

@end

//实现文件
@implementation BNRHypnosisViewController
 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {

        // Set the tab bar item's title
        self.tabBarItem.title = @"Hypnotize";
        UIImage *image = [UIImage imageNamed:@"Hypno.png"];

        // Put that image on the tab bar item
        self.tabBarItem.image = image;
        NSLog(@"!!!%@",self);
    }

    return self;
}
@end

在UIViewController里面并没有UITabBarItem *tabBarItem 这个属性... 想知道self.tabBarItem是怎么回事???

2个回答

可以command进去看一下UIKit
图片说明
从这里可以看到UIViewController有一个UITabBarControllerItem的扩展类,然后在这个扩展类里有一个tabBarItem和tabBarController的成员变量,所以在UIViewController里面是可以调用self.tabBarItem的。

u014794736
dominghao 谢谢!
大约 3 年之前 回复

...你贴出来的是UITabBarController.h的内容, 但是UIViewController.h 并没有这个"分类".
1.单独建立一个只有UIViewController的工程,你任然可以在代码里:调用self.tabBarItem.
2.UITabBarController.h中的那是个分类吧,在分类中添加属性???它的实现我怎么找不到...

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问