合成后引用为空

时间:2011-09-15 16:34:43

标签: ios variables uiviewcontroller

我对此代码有疑问。

@class CatalogMenu;
@class SettingsMenu;

@interface TabBar : UIViewController {
    CatalogMenu *catalogMasterView;
    SettingsMenu *settingsMasterView;
}

@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;

@property (nonatomic, retain) IBOutlet CatalogMenu *catalogMasterView;
@property (nonatomic, retain) IBOutlet SettingsMenu *settingsMasterView;

我有一个UIViewController子类,它在顶部实现了接口。要在这个UIViewController中使用我的类,我已经导入了两个类CatalogMenu和SettingsMenu。问题是,合成后所有变量都为空。这意味着,他们都没有在内存中的地址。 如果我将子类更改为NSObject,问题就会消失。但这不是答案,因为那时我不能使用UIViewController函数。 这是一个已知的问题吗?

1 个答案:

答案 0 :(得分:2)

Synthesizing实际上并没有分配你的变量,这就是为什么它们为null,它只是提供了访问变量的Getter / Setter方法。在TabBar类的init方法中,您需要分配catalogMasterView和settingsMasterView

相关问题