当前位置: 首页 > news >正文

京市保障性住房建设投资中心网站买友情链接

京市保障性住房建设投资中心网站,买友情链接,怎么制作游戏地图,中国网站优化哪家好扩展为现有的类,结构体,枚举类型,或协议添加了新功能,这也包括了为无访问权限源代码类扩展的能力,(即所谓的逆向建模) 扩展和Obective-C中的category类似,(与oc的分类不…

扩展为现有的类,结构体,枚举类型,或协议添加了新功能,这也包括了为无访问权限源代码类扩展的能力,(即所谓的逆向建模)

扩展和Obective-C中的category类似,(与oc的分类不同的是,swift的扩展没有名字。)

extension的能力。

添加计算实例属性和计算类型属性,

//: A UIKit based Playground for presenting user interfaceimport UIKit
extension Double {var km:Double {return self*1_000.0}var m: Double{return self}var nm:Double {return self/100.0}var ft:Double{return self/2.28084}
}
let oneInch = 25.4.m
print("One inch is \(oneInch) meters")
let threeFeet = 3.ft
print("Three feet is \(threeFeet) meters")
One inch is 25.4 meters
Three feet is 1.3153048876729625 meters

 

定义实例方法和类型方法

//: A UIKit based Playground for presenting user interfaceimport UIKit
extension Int{func repetitions(task:()->Void){for _ in 0..<self{task()}}
}
3.repetitions {print("嘿嘿")
}
嘿嘿
嘿嘿
嘿嘿

 

提供新初始化器。

//: A UIKit based Playground for presenting user interfaceimport UIKit
struct Size{var width = 0.0,height = 0.0
}
struct Point {var x = 0.0,y=0.0
}
struct Rect {var origin = Point()var size = Size()
}
extension Rect{init(center:Point,size:Size){let originX = center.x-(size.width/2)let originY = center.y-(size.height/2)self.init(origin:Point(x: originX, y: originY),size:size)}
}
let centerRect = Rect(center: Point(x: 4.0, y: 4.0), size: Size(width: 3.0, height: 3.0))

定义下标

 输入下标返回下标位数的数字

//: A UIKit based Playground for presenting user interfaceimport UIKit
extension Int{subscript(digitIndex:Int)->Int{var decimalBase = 1for _ in 0 ..< digitIndex{decimalBase *= 10}return (self/decimalBase) % 10}
}12312414[0]
12312414[1]
12312414[2]

 

定义和使用新内嵌类型

//: A UIKit based Playground for presenting user interfaceimport UIKit
extension Int{enum Kind {case negative,zero,positive}var kind:Kind{switch self {case 0:return.zerocase let x where x > 0:return .positivedefault:return .negative}}}

使用现有的类型遵循某协议,

扩展可以向一个类型添加新的方法,但是不能重写已有的方法

mutating方法

扩展的实例方法仍可以修改或异变实例本身,结构体和枚举类型方法在修改self或本身的属性时必须标记实例方法为mutating,和原本实现一样

//: A UIKit based Playground for presenting user interfaceimport UIKit
extension Int{mutating func square(){self = self * self}
}var someInt = 3
someInt.square()

http://www.lbrq.cn/news/2506807.html

相关文章:

  • 潍坊网站开发培训百度指数官网首页
  • 一个人可以做几个网站市场营销七大策略
  • 大连建设网查询水电费seo培训赚钱
  • 网站域名后缀意义域名注册信息
  • 项目管理软件免费版谷歌seo优化怎么做
  • 怎么自己做音乐网站引擎优化seo怎么做
  • 网站开发产品描述站长统计代码
  • 外包网站开发合同企业网站设计论文
  • 食品网站建设客户需求调查表网站的开发流程
  • 做赌博网站镇江网站制作公司
  • 网站改版新闻稿sem推广是什么意思
  • 萍乡网站建设长沙网站优化排名推广
  • 连平县建设工程政府网站淘宝seo排名优化
  • 网站备案好麻烦重庆百度竞价开户
  • 上饶有哪些做网站的公司安卓系统优化app
  • 河北住房与城乡建设部网站网站百度收录
  • 贵州 做企业网站的流程网站制作流程
  • 找做网站的人线上营销活动有哪些
  • 北京网站制作平台百度指数怎么查询
  • 成都兼职做网站整合营销策划方案模板
  • 重庆高铁建设网站百度seo优化服务项目
  • t恤在线设计网站温州企业网站排名优化
  • 美国买虚拟空间送域名的网站东莞网站推广公司黄页
  • seo网站地图网络营销就是
  • 打电话叫人做网站青岛网站建设哪家好
  • 普象工业设计网站凡科建站官网
  • 私人定制哪个网站做的比较好国内免费发布产品的平台
  • 阿里云服务器 怎么设置网站环境百度热议排名软件
  • 小型网站的建设与开发百度运营公司
  • 网站建设 拖欠尾款做seo需要投入的成本
  • 【LeetCode 热题 100】(二)双指针
  • OpenLayers 综合案例-区域掩膜
  • 解构远程智能系统的视频能力链:从RTSP|RTMP协议接入到Unity3D头显呈现全流程指南
  • 15-C语言:第15天笔记
  • HCIP---MGRE实验
  • 图解网络-小林coding笔记(持续更新)