0

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

我什么都没有UntitledAppDelegate.m或.h

在 NSObject 类中,“untitled”init在 untitled.h 中声明,在 untitled.m 中我有

 @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不运行,我该如何解决?

4

3 回答 3

2

您是否曾经为该类的任何实例调用 init ?在你的代码中你应该有的地方:

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

如果不是,那么这就是它不被调用的原因。

于 2012-10-26T08:35:20.323 回答
0

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

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

- (id)init {  
if (self = [super init]) {  
NSLog(@"Foo");  
}  
return self;  
}
于 2012-10-28T17:21:17.003 回答
0
untitled *object = [untitled new];
于 2013-03-15T10:37:52.650 回答