Swift - 初始化方法返回nil表示初始化失败


自Swift1.1开始,初始化init方法便有返回nil的能力。我们可以在init声明的时候在其后面加上一个 ? 或者 ! 来表示初始化失败时可能返回nil。


比如,给Int类添加一个将字符串初始化成数字的init方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
extension Int {
init?(fromString: String) {
if let i = fromString.toInt() {
self = i
}else{
//提前返回
return nil
}
}
}
//使用
let number1 = Int(fromString: "1234") //1234
let number2 = Int(fromString: "two") //nil
优质内容筛选与推荐>>
1、Android 微信分享解疑
2、oracle TBL$OR$IDX$PART$NUM BUG案例处理过程
3、keeplived + mysql双主复制部署 --原创
4、伪类选择器
5、神奇的SQL之层级 →为什么 GROUP BY 之后不能直接引用原表中的列


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号