iOS面试题9

来源:互联网 发布:hl线切割输入编程步骤 编辑:程序博客网 时间:2024/06/16 11:47

iOS面试题9


1.使用Xcode创建工程时,支持同时创建的版本管理库是(C)
A.Subversion
B.Mercurial
C.Git
D.Concurrent Version System


2.UIEdgeInsets edgeInsets = UIEdgeInsetsMake(10,10,10,10);
@synchronized(edgeInsets){}


关于这段代码,正确的说法:(D)
A.写在大括号内部的代码,会保证多线程访问edgeInsets不出错
B. UIEdgeInsetsMake是构造UIEdgeInsets数据类型的方法
C. UIEdgeInsets本质上是OC中的基本数据类型
D.代码错误


【解释】
只能存放对象类型id,现在是一个基本数据类型


UIEdgeInsets是比较特殊的类型,和NSRange,CGRect一样本质上都是结构体类型。
因为OC没有命名空间,所以只能使用前缀来区分,但OC中许多非对象类型同样使用和对象类型一样的前缀,注意甄别(一般非对象类型创建时无*号,id除外)
@synchronized用来保护被访问的对象同时只能有一个线程操作,保证了线程访问对象时不出错。


3.添加子视图的方法,是哪个面向对象特性的体现?(C)
A.封装 B.继承 C.多态 D.协议


多态:addsubview 父类指针指向子类对象
view类型—label


4.优秀的程序设计,应遵循下列的哪个准则?(B)
A.高内聚,高耦合
B.高内聚,低耦合
C.低内聚,高耦合
D.低内聚,低耦合


5.为应用程序创建window的时候,以下哪个是声明成属性的必要原因?(B)
A.类的内部可以访问
B.类的外部可以访问
C.延长声明周期
D.拷贝window副本




著作权声明:本文由http://www.bestnathan.com/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢
0 0
原创粉丝点击