cocoa类init不运行

时间:2012-10-26 04:55:28

标签: objective-c cocoa init

在一个简单的测试应用程序中,它启动并建立一个窗口,但从未到达类中的init。调试器控制台位于:Running… (gdb)

UntitledAppDelegate.m或.h

中没有任何内容

在NSObject类中,“无标题”init在untitled.h中声明,在无标题中声明。我有

 @implementation untitled
   - (id)init {

    if (self = [super init])
    { 
       int i=1;
       i=i++;
       NSLog(@"%i here",i);
    }

    return self;
  }

 @end

UntitledAppDelegate.m中的断点显示它到达最后一个}。

Xcode设置为3.2,OSX 10.6和垃圾收集。

没有错误或警告;它运行。,

为什么不运行init,我该如何解决?

3 个答案:

答案 0 :(得分:2)

您是否曾为该类的任何实例调用init? 您应该在代码中的某处:

untitled *myObj = [[untitled alloc] init];

如果没有,那么这就是为什么不调用它的原因。

答案 1 :(得分:0)

我向所有浪费时间查看我的骨头错误结果的人道歉 几个组合,但主要是我意识到那些作者正在使用带有initWithFrame的NSView类,它在启动时运行,就像它应该没有添加到UntitledAppDelegate一样。

我还没弄清楚为什么NSObject类中的简单init不会在启动时运行。

- (id)init {  
if (self = [super init]) {  
NSLog(@"Foo");  
}  
return self;  
}

答案 2 :(得分:0)

untitled *object = [untitled new];