【发布时间】:2026-01-27 14:20:13
【问题描述】:
Objective-C 中的琐碎任务
- (instancetype)initWithTitle:(NSString *)title {
return [super initWithTitle:title];
//bool but_it_works_in_objective_c;
}
导致短路错误并提供建议: 返回时只允许 nil 值 >> Failable initializer 'init(title:)' 不能覆盖 non-failable initializer >> 返回时只允许 nil 值 ...
Screenshots with compiler errors from Xcode 9.3 (Swift 4.1)
Long 从 id 过渡到返回的 instancetype 似乎只是为了区分 init 初始化器系列中缺少返回的存在。
那么为什么这么明显的提示不能让它自动更正呢?
【问题讨论】:
-
虽然 NSMenu 对目前的问题并不多,但通常仅作为最常见类型的示例,它恰好有用但不是 NSView
标签: objective-c swift4 appkit nsmenu swift4.1