自定义构造函数没有可见的@interface

时间:2018-11-05 00:51:34

标签: ios objective-c constructor interface header

我试图写一个看起来像这样的自定义初始化程序:

 - (id) initWithTitle:(NSString *) title withDescription:(NSString *) desc {
    self = [super initWithTitle: title withDescription: desc];
    if (self) {
        self.title = title;
        description = desc;
        duration = 0.0;
        priority = 0;
    }
    return self;
}

但是由于某些原因,如果我使用[super initWithTitle:title withDescription:desc],它告诉我'NSObject'没有可见的@interface声明我的选择器,尽管我已经在.h文件中定义了构造函数。

我可以使用[super init],但我只是想知道我将来做错了什么。

1 个答案:

答案 0 :(得分:0)

该行:

awk 'gsub(/(^| )[[:upper:]]/,"&") == gsub(/(^| )[[:lower:]]/,"&")' file
Hello world
Lorem ipsum Foo bar And stuff

通过调用对象的超级构造函数来初始化它。但是,如果超类不包含要调用的构造函数,则会显示错误消息。

self = [super initWithTitle: title withDescription: desc]; 代替您的通话,然后在[super init]上用Command + Click打开init,您将看到仅支持NSObject.h