Swift 中默認的初始化方法是不能寫 return 語句來返回值的久脯,也就是說我們沒有機會初始化一個 optional的值
// Swift中的初始化方法中默認是不能返回nil的,但是在init后面加一個? --> init?就可以的章鲤,例如
let url =URL(string:"http://www.baidu.com")
// public init?(string: String)
extension Int{
init?(fromString:String){
self=0
var digit = fromString.characters.count-1// 2
for c in fromString.characters{
var number =0
if letn =Int(String(c)) {
number = n
}else{
switch c {
case"一": number =1
case"二": number =2
case"三": number =3
case"四": number =4
case"五": number =5
case"六": number =6
case"七": number =7
case"八": number =8
case"九": number =9
case"零": number =0
default:returnnil
}
}
self=self+ number *Int(pow(10,Double(digit)))
digit = digit -1
}
}
}
print(Int(fromString:"123"))// "Optional(123)\n"