说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

苹果官方博客:从SDK详说Swift代码的改变

HTML文档下载 WORD文档下载 PDF文档下载
Xcode 7中,几乎所有常见框架都指定了其API的nullability注解,包括其集合类型的元素,这使得Swift代码的样子发生了变化,而通过To Latest Swift Syntax会将实现从Swift 1.2到2.0的代码转换。

CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、参与内容翻译工作,或寻求近匠报道,请发送邮件至tangxy#csdn.net(请把#改成@)。 


在Xcode 6.3中,我们为Objective-C添加了新语言特性nullability注解。这个特性给Objective-C提供了表达API使用null和non-null统一的方式,相当于Swift语言中的Optional类型。Xcode 7继续为Objective-C与Swift之间更加自然的通信引入轻量级的泛型模型。泛型使得这两种语言能够可靠地融合并分享带有特定类型元素的集合。

这些特性对任何使用Swift和Objective-C这两种语言编程的人来说都比较有用。但应用程序开发人员每天使用的Objective-C代码占更大部分:这就是组成Apple SDK的那些框架。为了提升Swift和Objective-C的使用体验,全公司的范围内,我们在SDK的头文件中都提供了这样的信息。Xcode 7中,你会发现几乎所有常见框架都指定了其API的nullability注解,包括其集合类型的元素。这使得Swift代码的样子发生了变化。

变化前:

class UIView : UIResponder {  	init!(frame: CGRect)	var superview: UIView! { get }  	var subviews: [AnyObject]! { get }  	var window: UIWindow! { get }	// ...	func isDescendantOfView(view: UIView!) -> Bool	func viewWithTag(tag: Int) -> UIView!	// ...	var constraints: [AnyObject]! { get }	// ...}

变化后:

class UIView : UIResponder {  	init(frame: CGRect)	var superview: UIView? { get }  	var subviews: [UIView] { get }  	var window: UIWindow? { get }	// ...	func isDescendantOfView(view: UIView) -> Bool  	func viewWithTag(tag: Int) -> UIView?	// ...	var constraints: [NSLayoutConstraint] { get }	// ...}

最后一个疑问是Xcode 7中将代码转换成Swift 2的工具,在Xcode的Edit菜单下,Convert > To Latest Swift Syntax。通过必要的编辑,该工具会将一个使用Swift 1.2编写的项目转换成合法的Swift 2.0代码。这些改变源于改进后的头文件信息。例如,正在重写的一个方法,其参数和结果类型更加精确,方法转换的过程中将会被更新与之匹配。

在今年的WWDC的Swift and Objective-C Interoperability视频14:30处,对Objective-C所作的改进做了详尽的描述。注意,该视频使用的是Xcode 6.3中的__nullable语法,并非更新的Xcode 7中用的_Nullable。了解更多nullability注解的信息,可以看看Nullability and Objective-C。了解Swift 2.0和Objective-C中轻量级泛型更多信息,可以看看Xcode 7 Release Notes。

(翻译/白云鹏 友情审校/汪洋)

原文链接:Apple Developer's Blog

译者简介白云鹏,移动应用开发者,个人博客:http://baiyunpeng.com/


预告: 2015中国移动开发者大会(MDCC 2015)将于10月15-16日在北京新云南皇冠假日酒店召开。大会特设五大技术专场:平台与技术iOS、平台与技术Android、产品与设计、游戏开发、企业移动化。此外,大会更是首次举办国内极具权威影响力的IoT技术峰会,特设硬件开发技术与虚拟现实两大专场。大会将聚集国内最具实力的产品技术团队,与开发者一道进行最前沿的探讨与交流。

第一时间掌握最新移动开发相关信息和技术,请关注mobilehub公众微信号(ID: mobilehub)。  

创业了,我们该如何起名? 乐视网联手富士康推新盒子C1S “0+290元”新浪微博发售 吸引开发者:只要开发新应用 微软便奖100美元 PaintCode - 将矢量图转化为Objective-C代码的开发神器 苹果发布iOS 6.1.3 封杀evasi0n越狱所用漏洞 [API快讯] Google开放实时协作API 58同城开源轻量级Java Web框架 Argo 初创公司AppNeta:4轮融资,4780万美元 MongoDB释放2.4版本:692更新及8大得意之作 十年6亿美元!Amazon云计算喜获CIA大单! 国人当自强:HTML5+联盟首次筹备会成功举行 开源框架TAAE发布 快速打造iOS音频应用 如何学会600多种编程语言 “第五届中国云计算大会”将于2013年6月5-7日在京召开 Ridiculous Fishing:游戏遭遇山寨如何一雪前耻 老游戏的今天:Doodle Jump每周进账2万美元 剑指Evernote 谷歌正式推出Google Keep 开源的JS MVC框架 Backbone.js 1.0发布 前Facebook资深员工王淮给技术创业团队的十点建议 微软发布Windows Embedded 8系列操作系统 Google Play 4.0抢先体验 中国 vs. 非洲:移动医疗的前世今生 Java大数据框架初创企业Concurrent获400万美元融资 基于Edge Animate开发CSS3 Animations 后端服务商Firebase发布全新iOS SDK [爆料]百度云或在秘密打造实时移动Web App开发框架 打造最佳开发团队的几点建议 Facebook与开发者交恶 扼杀第三方应用 负载大逃亡:四十二路怪兽联军及七条逃生法则 那些年,MIT技术男们奇妙的黑客作品 深度分析:腾讯3.3亿美元收购Epic股份值吗? 男人一定要看--打消那些有想娶美女的念头的男人 如何用C#在没有安装过office的机器上使用word功能 如何选择开发平台? 大家知道哪有买类似于阿里巴巴那种商城程序啊? 关于c/s的问题 如何用evb显示tip呢? 数据环境设计器怎么样去用? 文档保存时隐藏某一域的ls如何写? 视频点播怎么做啊?用什么服务器好?自己做收看WEB页怎么办啊? 怎样才能输出正确的书名号 ADO调用数据源,如何实现相对路径? 请问怎么让一个MDI子窗体永远保持非最大化并且在所有子窗体最后 一个简单的问题,看哪位兄弟可以解决 EDIT MASK的问题,在线等待。。。 关于winamp skins的问题 atmel的c51单片机是多少钱啊 怎样在程序启动时判断已经有一个程序副本正在执行? 求教:关于VC书籍 想从98升级到2K,如何实现? 高分寻找sqlserver2000的ppt文档!!!(不够再加) 调用MoveMemory,提示内存只读!急,在线等待! 高手请进,我自会给高分!!! 请教高手,谁会用BCB中的implib和tlib工具? 高分寻找sqlserver2000的ppt文档!!!(不够再加) 初学BC,提两个简单的问题 linux下无法播放mp3 sco opensever5是什么东东?有人在用吗? 以下代码有问题?请指教 MySql数据库的稳定性值得怀疑! 请问哪里有ADO2.6下载??? 在做报表时,由于太多的内容,导致不能完全打印,请问怎么解决??(急急!!) 在WINDOWS98平台上使用PB能不能联到SQL SERVER数据库服务器上?如能如何联接? 如何实现新建文件(菜鸟)(在线等待) 获取DATAGRID中的更新列的数据发现只能得到更新前的数据 求一SQL 语句 急求VSFlexGrid8.0或者VSFlexGrid For .NET的下载地址! 对于动态创建窗口(而不是控件),有没有类似 WithEvents 的东西 如何把Excel公式表达式转化为ptg标记? applet的打印问题 現在有asp源代碼﹐怎麼得到session? 求助!!我想学一门语言 好像vc中的工具栏只能是16像素高吗?如何使得工具栏的高度可以超过16像素,在那里设置呀? 菜鸟问一个操作数据库经验方面的问题,希望大家能提提你们的经验,谢谢~~~``` bcb的精华区为何访问不了?? 如何判断字段是否为字符型? 为什么Boolean.getBoolean("true")的结果是false????? 一个简单的触发器问题,请大家帮忙。 图片保存和打印问题 请问,我可不可以将IPicture->Render()函数,输出到内存中?如何做呢? 高版本的数据可以导入低版本吗? 如何知道信使服务来自何方?? 为什么大气里会有那么多云雾 分子结构中含有多羟基的结构物质有那些?知道抗坏血酸!可价格貌似挺高,有没有便宜点的? 我们学过的四种基本尺规作图分别是什么? 发动机功率等于压强乘以排量请问标题是否正确?我是这样推断:以单缸汽油机为例.功率W=力F乘以距离S乘以角θ的余弦,也就是W=F×S×cosθ.其中F=压强P乘以面积A.也就是F=P×A,换算进去就是W=P 已知直线l经过点P(2.3),倾斜角a= 30 度,求直线l的参数方程. 下图所示装置中,直流电源用的是甲烷燃料电池,甲乙丙三个烧杯分别是盛放200g10%的NaOH溶液、足量的CuSO4溶液、足量的K2SO4溶液,电极均为石墨电极.接通电源后.经过一段时间后,测的乙中c电极 如图: 所谓光速不随参照系的变化而发生改变是指所有达到光速的物体(假设这是可能的)还是仅仅包括光? 含羟基固体物质有哪些 粽子飘香话端午开头一段在语言上有什么特点我问的是特点,特点,特点你懂不懂? 单元门可以做门禁吗? 小明同学在一只矿泉水凭内装入密度为p的某种液体,液面距瓶底高H,求在距瓶第四分之一处液替产 高一地理,1,2求检查 抛物线y=2x^2上的一点M到焦点的距离为1,则点M的纵坐标是A.1/4 B.1/8 C.7/8 D.3/4 苯甲酸中的羟基氢原子被氨基取代后的物质具有怎样的性质从氨基这个角度来说,应该还具有怎样的性质呢 关于《风起苍穹》的结局.看了后稍稍有些迷糊,能帮我大体概括一下《风起苍穹》的结局?稍稍作下评论也好哦!Thanks! 下列溶液中CL物质的量浓度最大的是A.100ml0.5mol/L MgCl2溶液 B.50ml0.5mol/L AlCl3溶液C.100ml1mol/L NaCl溶液 C.50ml0.5mol/L HCl溶液最好有算的过程 盛放NaOH溶液的试剂瓶口部,时间长了会有白色固体附着,这固体的成分是 B.Na2CO3 为什么? 祖国啊,我属于你 你在我的心中 我在你的怀里 你是温和的风儿 我是风中的氧气 你是广阔无边的天空 .接:我是飞翔在天空上的小鸟 你是我和蔼可亲的妈妈 我是你的儿女 享受着你的温暖.我 11.下列溶液中,Cl-的物质的量浓度最大的是 ()11.下列溶液中,Cl - 的物质的量浓度最大的是 ( ) A.15 mL 1 mol/L 的FeCl 3 溶液 B.9.5 g MgCl 2 溶于水配成100 mL 溶液 C.108 g AgCl加入到100 mL 水中 尺规作图 什么情况下在原图作图像角平分线这样的可以在原图作图吗 谁能告诉我六年级的生活是怎样的? 问大家一下中国最长的古诗有点急,本人先在此谢谢大伙5q 已知∠a,线段a,求作:RT△ABC,使∠B=90°,∠C=∠a,AC=a(做法图片都要)! 所有的,特别是后面没有的答案,1喝”和“渴”,“晴”“清”和“睛”编个顺口溜。2创作一幅自己脑海中的《星夜》3举出几个人类扩展自身能力的发明创造 请问大家一下关于梦想的诗歌有点急,谢谢大伙5Q 一个炭上能连一个氢两个羟基 一个氨基么? 哪位仁兄能告诉我六年级全部要记住的英语单词,哪怕是一点也好啊!告诉我的单词要是英语阅读题里用的着的 0.5L1mol/LFeCl3溶液与0.2L1mol/LKCl溶液中的Cl离子的数目之比是? 求There be 句型中to do和to be done 的区别-_-# 看两句纸.There is nothing to do.There is none to be had.什么时候用被动语态好呢?nothing也不会自己do的. 请问:“特殊的长方体是正方体”这样的说法是否正确?若不正确,为什么?正方体是特殊的长方体,这种说法是正确的,反之,成不成立? 下列说法是否正确.如不正确,请你说出原因.(1)22.4LO2中一定含有6.02×10^23个水分子.(2)将80g NaOH 溶于1L水中,所得溶液中NaOH的物质的量浓度为2mol/L.(3)18g H2O在标准状况下的体积是22.4L.(4)在标准状况 山地车能否换成公路车大小的牙盘 don't be a dick 今天在inst上看到的 下列关于化学说法不正确的是(原因)A.化学的特征是研究物质和创造物质B.化学是一门以实验为基础的自然科学C.化学是研究物质相互作用和运动规律的自然科学D.化学是在原子、分子水平 我有一个类似正方体的金属块,呈黄色,像铜,但是特别挺重的.我用称测量了一下,大概8两重,应该是400g吧?然后3个面分别是4厘米,4厘米和4,2厘米.我想请问,它到底是什么材质的?有可能含金吗?上 威尔迪指纹门禁机能做联动门门禁吗?也就是俗称AB门门禁? 多羟基物质的判定具体怎么个比例算多羟基物质怎么判定呢? 所谓的dd迁跃是什么东西,为什么铜离子会是黄色的 指纹门禁好用吗?老板说要安装指纹门禁,大家有什么好的推荐吗? 一个环烷烃连一个羟基是什么物质一个脂环连一个羟基是什么物质? 为什么叫管IG的姿态叫MC姿态,什么含义? Don't touch_____.______not a cat,_____a tiger! 数据结构,求三角矩阵的存储位置假设一个10阶的上三角矩阵A按行优先顺序压缩存储在一维数组B中,若矩阵中的第一个元素a11在B中的存储位置k=0,则元素a55在B中的存储位置k=_____ 哪个人物移动速度最快 地球上什么生物的性欲最强? 不怕~也不怕造句 人物的基本移动速度是 多少米每秒?有知道的大仙告诉下哈~ 遗传是什么?.变异分为哪几种?. 求延拓定理内容 体积为0.72立方米等于多少立方厘米 这图讲的什么意思? 下图所示装置中,甲、乙、丙三个烧杯依次分别盛放100g5.00%的NaOH溶液、足量的CuSO4溶液和100g10.00%的K2SO4溶液,电极均为石墨电极接通电源,测得丙中K2SO4浓度为10.47%,乙中c电极质量增加.据此回答 PS CS4 为什么选择椭圆工具-路径 画了一个圆 想在圆的内壁上输入文字 怎么结果老在圆的外壁上输入了呢 在大气的云雾里,水的状态是 为什么多羟基物质能溶解氢氧化铜? 梁山伯和祝英台到底是不是一个朝代的同学?梁山伯和祝英台是一个朝代的同学么? 影响大气中的水热状况```多少的因素` 甲、乙、丙三个烧杯依次分别盛放100g5.00%的NaOH溶液、足量的CuSO4溶液和100g10.00%的K2SO4溶液电极均为石墨电极接通电源,测得丙中K2SO4浓度为10.47%,乙中c电极质量增加.据此回答问题:列式计算电 梁山伯与祝英台是同一时期的吗? 美媒:中国海军借反海盗行动获远洋经验美国毒贩修隧道铺轻轨快速运毒 通往墨湖南岳阳三姐弟上学途中遭绑架杀害 嫌苏格兰女法医揭秘连环凶杀案 数十桩悬16岁少年蜗居桥下一个月 以废弃席梦福建商人遭老乡绑架 交付185公斤黄河北超生女婴被抱走追踪:家属称有人欲成都10岁小学生跳楼自杀 班主任殡仪下周起北京供暖热线“12319”全天中国珠算韩国泡菜等备选人类非物质文化富二代驾玛莎拉蒂对飙法拉利 追尾面包成都调整市政府领导分工 市长葛红林不土耳其4名女议员戴头巾出席会议 打破盘点:医生绝对不会告诉你的那些事儿外媒:中国人为何与读书渐行渐远?锦江区回应男孩坠楼事件 要求各学校加外媒:美国使馆搞监听激怒亚洲多国英报:高尔夫球场或成中共反腐“新阵地德内政部长称接受斯诺登帮助 但拒绝为美国国土安全部爆工资丑闻 1年多发8克里称NSA监控为“自动导航” 指责第二届中国(郑州)新能源汽车展落幕 林书豪15分霍福德13+16+6 老联赛杯-门神连扑三点球 曼城4-2利单场12三分前辈致库里:这纪录迟早你LBJ依赖症!没他骑士战五渣 首节三马夏尔二世!红魔新妖王横空出世 比C28+6欧文却扛不起骑士 -22!他能源危机来袭,石油时代将要终结?无詹皇骑士死穴被无限放大 这实力怎么刘国梁:小组赛是热身找比赛节奏 让每枪手欧冠英超恐双线崩盘 4天2败输掉KD密友因伤赛季报销 买断后仅为雄鹿重要证据去哪儿了宁波老板怒砸21间商铺 讨要“失去的想不通!禅师发古怪推特 拿库里对比2上两周油价有明显回升,这是否预示油价巴塞罗那苦恼难民来的少 为迎难民出奇越南一男子放火烧老鼠致自家车房被毁母亲死于家中 英国3岁男孩伴尸体共度乔布斯生前多交违规停车罚款 去世5年韩国:酒后骑自行车也重罚 最高罚款1
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘