您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

Swift可选类型和as {网站代码}

  • 时间:2022-08-20 00:52 编辑: 来源: 阅读:286
  • 扫一扫,手机访问
摘要:Swift可选类型和as {网站代码}
可选的Swift要求普通变量只有一个状态和值。 即需要初始化,否则会报错:var Nora:int Nora = 10 print(Nora)//let num3:int//print(" \(num 3)")常量' num 3 '在初始化前使用。因为普通变量只有一种状态和限制,所以Swift设计了可选类型。 Type(可选)是一个枚举,有两种情况,None和Some(T),表示可能有也可能没有值。 Format:可选< Type >:或在类型后添加?数字 如下:varopa:可选 Swift中的Nil不是指针,是一个确定值,用来表示缺失的值。 任何类型的可选状态都可以设置为nil,不仅仅是对象类型 Nil不能用于非可选常量和变量。 如果您的代码中有需要求解缺失值的常量或变量,请将它们声明为相应的可选类型。 可选值:可选类型对应的值称为可选值。 Optionals值用选项修饰,有两种状态:1。有价值观;2.没有值,这意味着零。 //Valued var optValue1: Int?= 9//没有值var optValue3: Int?= nilvar optValue2: Int?//不提供初始值,其值默认为nil可选值。if语句可以用来判断var optValue1: Int?= 9var optValue4: Int?if optValue4!= nil { print(opt value 4 as any)} else {//opt value 1是可选变量。如果不解决,会有警告。//也可以这样解:print(optValue1!)print(optValue1 as Any) // output可选(9) 编译器会隐式强制将optional转换为as Any,不发出警告}强制解析:确认可选类型确实包含值后,可以添加感叹号(!)来获取值。 这个感叹号的意思是“我知道这是可选的,请使用它”。此时,编译器不会检查这个变量。 但如果可选变量中没有值,就会造成运行错误var optValue5: Int?= 10var result1: Int = optValue5!print(result 1)//output 10//error://var opt value 6:Int?//var result2: Int = optValue6!//print(result2)可选绑定:即,如果让 为了安全地解析可选类型的值,通常使用可选绑定。 如果optValue没有值,什么都不会做,花括号中的内容也不会执行。 如果opValue有值,optValue的值会赋给result3,执行花括号里的内容var optValue7: Int?op value 7 = 11 if let result3 = optValue7//不需要指定result 3的类型,类型与opt value 7一致{ print(result 3)//output 11 } Swift中的可选类型变量更接近OC中的常用变量。 //OC公共变量//ns data * data =[ns data . datawithcontsofmappedfile:@ "/users/hanjunqiang/desktop/study daily/H5/first-stage/novel . html "];//NSLog("%@ ",data);//Swift可选类型var数据:NSData?= ns data(content office:"/users/hanjunqiang/desktop/study daily/H5/first-stage/novel . html ")//demo网站,直接改成自己的路径地址文件//print (data as any) as,和Swift里一样!、as?三种运算符as由派生类转换为基类,分别是向上转换类Person {}//定义一个学生类class Student: Person {}//定义一个学生对象tomvar Tom = Student(" Tom ");//将学生对象转换成一般的人事对象,让person1 = tom作为Personas!它是向下转换,因为它是强制类型转换。如果转换失败,它将报告运行时运行错误。Let person: person =老师(“吉米·李”)Let Jimmy = person as!蒂奇勒斯?还有作为!运算符转换规则相同,但作为?如果转换不成功,将返回一个nil对象,如果成功,将返回一个可选的类型值。 因为as?转换失败时不会出现错误,可以像保证100%成功一样使用!否则,使用as?let person : Person =老师(“吉米·李”)如果让某人=人当?教师{ print("此人是教师,他的名字是\(someone.name)")} else {print("此人不是教师,并且' tom '的值为零")}


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部