Iphone 在NSObject类中的何处初始化另一个类?
好了,伙计们: 我在两个班的交流中遇到了一个问题, ViewControllerClassIphone 在NSObject类中的何处初始化另一个类?,iphone,init,Iphone,Init,好了,伙计们: 我在两个班的交流中遇到了一个问题, ViewControllerClassMyViewController从NSObjectClass助手调用方法changeViewBackgroundColor 方法如下: 在Assistant.h @interface Assistant : NSObject { MyViewControllere *myViewController; 在Assistant.m中 - (void)changeViewBackgroundColor:(i
MyViewController
从NSObjectClass助手调用方法changeViewBackgroundColor
方法如下:
在Assistant.h
@interface Assistant : NSObject {
MyViewControllere *myViewController;
在Assistant.m中
- (void)changeViewBackgroundColor:(id)sender
{
myViewController.myView.backgroundColor = [UIColor whiteColor];
}
但是我知道这行不通,我需要myViewController=[[myViewController alloc]init]
这个myViewController
,这个Assistant
的超类,没有地方实现它,如果我用changeViewBackgroundColor
方法实现,那就太晚了一点,这个助手类中有几个方法,它们都需要myViewController=[[myViewController alloc]init]
,问题是我将把这个init
调用放在哪里?重写init方法并在init方法中创建myViewController的对象。像
-(void)init {
if(self=[super init]){
//create the object for my view controller
}
return self;
}
我仍然不确定您使用Assistant类的目的是什么……“我仍然不确定您使用Assistant类的目的是什么……”好吧,MyViewControll类中的代码行太多,很难阅读,所以请将一些方法放在一边,我正在尝试您的代码:)但是NSObject中没有初始方法,只是将其投入工作?我在努力,是的,它很有效!虽然在我的场景中有一些警告,但myViewController=[[myViewController alloc]init];NSLog(@“alloced???:%@”,myViewController?@“myViewController”:“否”);是的,非常感谢^_^