我是iPhone开发人员的新手,需要一些帮助才能添加子视图。
我有一个可重用的对象,它存储在一个单独的.h .m和xib文件中。 我想在我的主项目的视图控制器中使用此对象。我已经包含了标题,并且对象的赋值不会产生任何错误。我能够将对象加载到我的主项目中,但只能在viewDidLoad方法中使用它。我打算在我的屏幕上有一些这样的对象,我正在寻找更强大的解决方案,然后只是硬连接形状对象的多个副本。
一旦我尝试访问viewDidLoad之外的对象,它就会产生一个变量未知错误 - 首先在此函数中使用。
这是我的viewDidLoad方法:
shapeViewController * shapeView = [[shapeViewController alloc] initWithNibName:@“shapeViewController”bundle:nil];
[self.view addSubview:shapeView.view];
//这是问题界限 //此代码可以更改形状对象上的显示
[shapeView updateDisplay:@“123456”];
----但是viewDidLoad之外的相同代码会生成错误。
总而言之,一切正常,除非我尝试在其余方法中访问shapeView对象。
提前致谢
答案 0 :(得分:2)
您需要在界面中声明shapeView实例,而不仅仅是在一个函数内部。然后函数中的代码就变成了初始化。
所以,在你的.h文件中,在@interface里面你写了声明:
shapeViewController *shapeView;
在viewDidLoad中,您将初始化之前声明的内容:
shapeView = [[shapeViewController alloc] initWithNibName:@"shapeViewController" bundle:nil];
[self.view addSubview:shapeView.view];
现在您可以在整个班级中使用shapeView。