【发布时间】:2026-01-10 15:55:02
【问题描述】:
在某些情况下,self = [self init] 在 init 方法中被调用,而不是在我查看的代码中的 [super init] .如果导致使用 [self init],您认为这种语法是可以接受的还是表明逻辑在某些方面排列错误(错误的模式)?
例如(可能是另一个例子),
- (instancetype)init {
self = [super init];
//my code block
return self;
}
- (instancetype)initWithDelegate:(id<MyDelegate>)delegate {
self = [self init]; //self = [super init] is not called since "my code block" needs to be implemented
if (self) {
self.delegate = delegate;
}
return self;
}
self = [self init] 可以这样吗?如果有,你有什么例子吗?
【问题讨论】:
标签: objective-c initialization self