1 / 36
文档名称:

ios面学习试题.docx

格式:docx   大小:43KB   页数:36页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ios面学习试题.docx

上传人:春天资料屋 2022/5/12 文件大小:43 KB

下载得到文件列表

ios面学习试题.docx

相关文档

文档介绍

文档介绍:精品文档
精品文档
1
精品文档
ios面试题
-C是一门动向的语言?
-c类的种类和数据变量的种类都是在运行是确定的,而不是在编译时确定。比方:多态特性,我们能够使属性相对应的
成员变量。
精品文档
精品文档
36
精品文档
属性的默认重点字是什么?
默认重点字,基本数据:atomic,readwrite,assign
普通的OC对象:atomic,readwrite,strong
,如果用strong会有什
么问题?(注意:这里没有说用strong就一定不行。使用
copy和strong是看情况而定的
尽人皆知,我们知道,可变种类
(NSMutableArray,NSMutableString等)是不可边种类
(NSString,NSArray等)的子类,因为多态的原因,我们能够
使用不可边种类去接受可变种类。
当我们使用strong修饰A不可边种类的时候,并且使用B
可变种类给A赋值,再去改正可变种类B值的时候,A所指
向的值也会发生改变。引文strong只是让创立的对象引用计
数器+1,并返回目前对象的内容地点,当我们改正B指向的
内容的时候,A指向的内容也同样发生了改变,因为他们指
向的内存地点是相同的,是一份内容。
精品文档
精品文档
11
精品文档
,并且使用B
可变种类给A赋值,再去改正可变种类B值的时候,A所指
向的值不会发生改变。因为当时用copy的修饰的时候,会
拷贝一份内容出来,并且返回指针给A,当我们改正B指向
的内容的时候,A指向的内容是没有发生改变的。因为A指
向的内存地点和B指向的内存地点是不相同的,是两份内容
(NSString,NSArray等)的时候,且使
用不可边种类进行赋值,表示浅拷贝,只拷贝一份指针,和
strong修饰同样,当修饰的是可变种类
(NSMutableArray,NSMutableString等)的时候,且使用可
边种类进行赋值,表示深拷贝,直接拷贝新一份内容,到内存中。表示两份内容。
?
如果想让自己的类具备copy方法,并返回不可边种类,必
须按照nscopying协议,并且实现
-(id)copyWithZone:(NSZone*)zone
精品文档
精品文档
12
精品文档
如果让自己的类具备mutableCopy方法,并且放回可变种类,
精品文档
精品文档
36
精品文档
必须恪守NSMutableCopying,并实现-
(id)mutableCopyWithZone:(nullableNSZone*)zone
注意:再此说的copy对应不可边种类和mutableCopy对应不可边种类方法,都是遵照系统规则而已。如果你想实现自己的规则,也是能够的。

有什么区别?如果是会合是内容复制的话,会合里面的元素也是内容复制么?
可变使用copy表示深拷贝,不可变会合类使用copy的时候是浅拷贝。
可变会合类、不可边种类使用mutablecopy表示深拷贝
当是浅拷贝的时候,容器的内容是没有复制的。如果是深拷
贝的话,容器的内容都会收到一条copy消息,拷贝出新的内容,从头组成新的容器返回。
精品文档
精品文档
14
精品文档

精品文档
精品文档
36
精品文档
在xib或许Sb拖控件时,其实控件就加载到了父控件的
精品文档
精品文档
16
精品文档
subviews

数组里面,进行了强引用,即便使用了

weak

,也
精品文档
精品文档
36
精品文档
不造成对象的释放。
精品文档
精品文档
36
精品文档
?atomic是绝对的线程安全
么?为什么?如果不是,那应当怎样实现?
nonatomic:表示非原子,不安全,可是效率高。
atomic:表示原子行,安全,可是效率低。
atomic:不能绝对保证线程的安全,当多线程同时接见的时候,会造成线程不安全。能够