【发布时间】:2016-10-26 21:14:29
【问题描述】:
我有一个从UIView 派生的自定义视图,在init 方法中像这样:
- (instancetype)init
{
if ([super init])
{
self.frame = [UIScreen mainScreen].bounds;
or self = [[UIView alloc]init];
}
return self;
}
它从不显示错误,但是当我使用 Swift 时
init() {
self.frame = UIScreen.mainScreen().bounds
}
编译器告诉我:
Super.init在从初始化程序返回之前不会在所有路径上调用
然后我添加super.init(),编译器告诉我:
这里声明了便利初始化器 (
UIKit.UIView)
如何在 Swift init 方法中使用一些初始方法,例如 self = [[UIView alloc]init];?
【问题讨论】:
-
你为什么不像
super.init(frame: UIScreen.mainScreen().bounds);那样做:stackoverflow.com/questions/24339145/…?
标签: ios iphone swift uikit init