【问题标题】:where to init another class in NSObject class?在哪里初始化 NSObject 类中的另一个类?
【发布时间】:2010-12-20 11:48:04
【问题描述】:

好吧,伙计们:

我在两个班级之间交流时遇到了一个问题, ViewControllerClass MyViewController 从 NSObjectClass Assistant 调用方法 changeViewBackgroundColor

方法如下:

Assistant.h

@interface Assistant : NSObject {

 MyViewControllere *myViewController;

Assistant.m

- (void)changeViewBackgroundColor:(id)sender
{
    myViewController.myView.backgroundColor = [UIColor whiteColor];
}

但我知道这行不通,我需要myViewController = [[MyViewController alloc] init]myViewControllerAssistant 的超类,没有地方实现它,如果我在changeViewBackgroundColor 方法中实现,它是有点晚了,这个Assistant类有好几个方法,都需要myViewController = [[MyViewController alloc] init],问题是我要把这个init调用放在哪里?

【问题讨论】:

    标签: iphone init


    【解决方案1】:

    覆盖 init 方法并在 init 方法中创建 myViewcontroller 的对象。喜欢

     -(void)init {
                  if(self=[super init]){
                     //create the object for my view controller 
                   }
       return self;      
    }
    

    我仍然不确定你使用 Assistant 类的目的是什么......

    【讨论】:

    • "我仍然不确定你使用 Assistant 类的目的是什么......" 好吧,MyViewControll 类中的代码行数太多,难以阅读,所以把一些方法分开,我'正在尝试您的代码:) 但是 NSObject 中最初没有 init 方法,只是投入工作?我正在尝试,稍后回复
    • 是的,它的作品!尽管在我的场景中有一些警告,但 myViewController = [[MyViewController alloc] init]; NSLog(@"alloced??: %@", myViewController ?@"myViewController" : @"NO");返回是,非常感谢! ^_^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2022-11-20
    • 1970-01-01
    • 2021-11-26
    • 2014-10-14
    • 2012-12-02
    • 2022-06-11
    相关资源
    最近更新 更多