【发布时间】:2014-07-11 00:27:00
【问题描述】:
我刚刚进入我的 Obj-C 书籍中涉及 init 方法的部分。我理解它们,但我不确定在哪里调用该方法。我有一个 VC 类需要将其 @propertys 之一设置为另一个值,除了在执行其余代码之前的默认值 0。 VC 是UIViewController 的子类。
这是我在 VC.m 中的 init 方法的代码:
- (id)initmethod
{
if((self = [super init])){
self.value = -1 ;
}
return self ;
}
我该怎么称呼它?我需要有一个调用它的子类吗?还是我需要手动创建链接到视图的 VC 对象并在那里调用这个方法?
【问题讨论】:
-
仅供参考 - 您最好将
if更改为if ((self = [super init])) {。你不想做比较。 -
将方法的名称更改为 initMethod(大写 M)。初始化方法必须以“init”这个词开头,所以我认为编译器没有识别出当你把它全部小写时。
-
除非您有充分的理由不这样做,否则请致电
-init。而 init family 可能意味着您应该使用-initMethod而不是-initmethod(按照惯例,大小写在这里很重要)。 -
当一个对象被默认“创建”时,它应该使用
myObject=[[MyObjectClass alloc]init]或等效的快捷方式myObject=[MyObjectClass new]来完成。这就是你的 init 方法被调用的地方。
标签: ios objective-c init