我试图写一个看起来像这样的自定义初始化程序:
- (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],但我只是想知道我将来做错了什么。
答案 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