初始化返回为nil

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"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容