您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页Swift笔试试题及其答案

Swift笔试试题及其答案

来源:爱go旅游网
Swift笔试试题及其答案

导读:虽然Swift出生才一年,但是它已经成为最流行的编程语言之一了,

事实上,Swift是一种复杂的语言。它包含面向对象和函数方法这两个方面,并且随着新版本的发布在一直进化。

你可以用这些问题来测试应聘者关于Swift方面的知识水平,或者测试一下你自己。如果你不知道答案,没关系,没一个问题下面都有答案供你学习。

这些问题包含两个方面:

笔试问题:通过电子邮件做一个编程测试是极好的,因为这涉及到写大量的代码,从代码质量上可以看出一个人的水平。

面试问题:电话面试或者面对面面试也是很好的,因为对面试者来说口头交流会更方面。

每个方面有分成三个等级:

初级:适合读了一到两本有关Swift的书,并且已经开始用Swift开发应用程序的初学者。

中级:适合那些对Swift语言的概念有深刻理解和强烈兴趣的,并且一直在阅读大量有关Swift的博客文章并进行实践的中级工程师。

高级:适合那些以探索Swift语言知识为乐趣,挑战自己,使用前言技术的`人们。

假如你想回答这些问题,我建议你在回答这些问题之前,打开Playground运行一下这些问题的代码。这些问题的答案都在Xcode7.0Beta6版本中测试过。

准备好了吗?系好安全带,现在就开始! 笔试问题 初学者

问题1、(Swift1.0及其之后的版本的问题)有什么更好的方法来写下面的for循环?

forvari=0;i<5;i++{ print(\"Hello!\") } 答案: for_in0...4{ print(\"Hello!\") }

Swift实现了两个数组运算符closedoperator和half-operator.前者包含数组中得所有值。例如:下面的例子包含从0到4得所有整数

0...4

half-operator不包含数组中的最后一个元素,下面的例子会得到的结果和上面的一样:

0..<5

问题2–Swift1.0orlater 思考下面的问题: structTutorial{ vardifficulty:Int=1 }

vartutorial1=Tutorial() vartutorial2=tutorial1 tutorial2.difficulty=2

tutorial1.difficulty和tutorial2.difficulty的值分别是多少?假如Tutorial是一个类,会有什么不同?并说明原因,

答案:tutorial1.difficulty的值是1,然而tutorial2.difficulty的值是2.

在Swift中结构体是值类型,他们的值是复制的而不是引用的。下面的一行代码意思是复制了tutorial1的值并把它赋值给tutorial2:

vartutorial2=tutorial1

从这一行开始,tutorial2值得改变并不影响tutorial1的值。 假如Tutorial是一个类,tutorial1.difficulty和

tutorial2.difficulty的值将都会是2.在Swift中类对象都是引用类型。tutorial1属性的任何改变将会反应到tutorial2上,反之亦然。

问题3–Swift1.0orlater

view1声明成var类型,view2声明let类型。这里有什么区别吗?下面的最后一行代码能编译吗?

importUIKit varview1=UIView() view1.alpha=0.5 letview2=UIView()

view2.alpha=0.5//Willthislinecompile?

答案:view1是个变量可以重新赋值给一个新的实例化的UIView对象。使用let你只赋值一次,所以下面的代码是不能编译的:

view2=view1//Error:view2isimmutable

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务