欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    ios面试笔试题及答案最新.docx

    • 资源ID:28775719       资源大小:14.60KB        全文页数:8页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ios面试笔试题及答案最新.docx

    ios面试笔试题及答案ios面试笔试题及答案设计模式是什么? 你知道哪些设计模式,并简要叙述?设计模式是一种编码阅历,就是用比较成熟的逻辑去处理某一种类型的事情。1). MVC模式:Model View Control,把模型 视图 限制器 层进行解耦合编写。2). MVVM模式:Model View ViewModel 把模型 视图 业务逻辑 层进行解耦和编写。3). 单例模式:通过static关键词,声明全局变量。在整个进程运行期间只会被赋值一次。4). 视察者模式:KVO是典型的通知模式,视察某个属性的状态,状态发生改变时通知视察者。5). 托付模式:代理+协议的组合。实现1对1的反向传值操作。6). 工厂模式:通过一个类方法,批量的依据已有模板生产对象。MVC 和 MVVM 的区分1). MVVM是对胖模型进行的拆分,其本质是给限制器减负,将一些弱业务逻辑放到VM中去处理。2). MVC是一切设计的基础,全部新的设计模式都是基于MVC进行的改进。#import跟 #include 有什么区分,class呢,#import<> 跟 #import”有什么区分?答:1). #import是Objective-C导入头文件的关键字,#include是C/C+导入头文件的关键字,运用#import头文件会自动只导入一次,不会重复导入。2). class告知编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含。3). #import<>用来包含系统的头文件,#import”用来包含用户头文件。frame 和 bounds 有什么不同?frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父view的坐标系统)bounds指的是:该view在本身坐标系统中的位置和大小。(参照点是本身坐标系统)Objective-C的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答:Objective-C的类不行以多重继承;可以实现多个接口(协议);Category是类别;一般状况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的property 的本质是什么?property = ivar + getter + setter;“属性” (property)有两也许念:ivar(实例变量)、getter+setter(存取方法)“属性” (property)作为 Objective-C 的一项特性,主要的作用就在于封装对象中的数据。 Objective-C 对象通常会把其所须要的数据保存为各种实例变量。实例变量一般通过“存取方法”(access method)来访问。其中,“获得方法” (getter)用于读取变量值,而“设置方法” (setter)用于写入变量值。property中有哪些属性关键字?/ property 后面可以有哪些修饰符?属性可以拥有的特质分为四类:1.原子性- nonatomic 特质2.读/写权限-readwrite(读写)、readonly (只读)3.内存管理语义-assign、strong、 weak、unsafe_unretained、copy4.方法名-getter=、setter=5.不常用的:nonnull,null_resettable,nullable属性关键字 readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种状况下用?答:1). readwrite 是可读可写特性。须要生成getter方法和setter方法。2). readonly 是只读特性。只会生成getter方法,不会生成setter方法,不希望属性在类外变更。3). assign 是赋值特性。setter方法将传入参数赋值给实例变量;仅设置变量时,assign用于基本数据类型。4). retain(MRC)/strong(ARC) 表示持有特性。setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1。5). copy 表示拷贝特性。setter方法将传入对象复制一份,须要完全一份新的变量时。6). nonatomic 非原子操作。确定编译器生成的setter和getter方法是否是原子操作,atomic表示多线程平安,一般运用nonatomic,效率高。什么状况运用 weak 关键字,相比 assign 有什么不同?1.在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端运用 weak 来解决,比如: delegate 代理属性。2.自身已经对它进行一次强引用,没有必要再强引用一次,此时也会运用 weak,自定义 IBOutlet 控件属性一般也运用 weak;当然,也可以运用strong。IBOutlet连出来的视图属性为什么可以被设置成weak?因为父控件的subViews数组已经对它有一个强引用。不同点:assign 可以用非 OC 对象,而 weak 必需用于 OC 对象。weak 表明该属性定义了一种“非拥有关系”。在属性所指的对象销毁时,属性值会自动清空(nil)。怎么用 copy 关键字?用途:1. NSString、NSArray、NSDictionary 等等常常运用copy关键字,是因为他们有对应的可变类型:NSMutableString、NSMutableArray、NSMutableDictionary;2. block 也常常运用 copy 关键字。说明:block 运用 copy 是从 MRC 遗留下来的“传统”,在 MRC 中,方法内部的 block 是在栈区的,运用 copy 可以把它放到堆区.在 ARC 中写不写都行:对于 block 运用 copy 还是 strong 效果是一样的,但写上 copy 也无伤大雅,还能时刻提示我们:编译器自动对 block 进行了 copy 操作。假如不写 copy ,该类的调用者有可能会遗忘或者根本不知道“编译器会自动对 block 进行了 copy 操作”,他们有可能会在调用之前自行拷贝属性值。这种操作多余而低效。用property声明的 NSString / NSArray / NSDictionary 常常运用 copy 关键字,为什么?假如改用strong关键字,可能造成什么问题?答:用 property 声明 NSString、NSArray、NSDictionary 常常运用 copy 关键字,是因为他们有对应的可变类型:NSMutableString、NSMutableArray、NSMutableDictionary,他们之间可能进行赋值操作(就是把可变的赋值给不行变的),为确保对象中的字符串值不会无意间变动,应当在设置新属性值时拷贝一份。1. 因为父类指针可以指向子类对象,运用 copy 的目的是为了让本对象的属性不受外界影响,运用 copy 无论给我传入是一个可变对象还是不行对象,我本身持有的就是一个不行变的副本。2. 假如我们运用是 strong ,那么这个属性就有可能指向一个可变对象,假如这个可变对象在外部被修改了,那么会影响该属性。/总结:运用copy的目的是,防止把可变类型的对象赋值给不行变类型的对象时,可变类型对象的值发送改变会无意间篡改不行变类型对象原来的值。浅拷贝和深拷贝的区分?答:浅拷贝:只复制指向对象的指针,而不复制引用对象本身。深拷贝:复制引用对象本身。内存中存在了两份独立对象本身,当修改A时,A_copy不变。系统对象的 copy 与 mutableCopy 方法不管是集合类对象(NSArray、NSDictionary、NSSet . 之类的对象),还是非集合类对象(NSString, NSNumber . 之类的对象),接收到copy和mutableCopy消息时,都遵循以下准则:1. copy 返回的是不行变对象(immutableObject);假如用copy返回值调用mutable对象的方法就会crash。2. mutableCopy 返回的是可变对象(mutableObject)。一、非集合类对象的copy与mutableCopy在非集合类对象中,对不行变对象进行copy操作,是指针复制,mutableCopy操作是内容复制;对可变对象进行copy和mutableCopy都是内容复制。用代码简洁表示如下:二、集合类对象的copy与mutableCopy (同上)在集合类对象中,对不行变对象进行copy操作,是指针复制,mutableCopy操作是内容复制;对可变对象进行copy和mutableCopy都是内容复制。但是:集合对象的内容复制仅限于对象本身,对集合内的对象元素仍旧是指针复制。(即单层内容复制)

    注意事项

    本文(ios面试笔试题及答案最新.docx)为本站会员(ylj18****41534)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开