- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
b简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonatomic 、atomic、strong、weak属性的作用?并区别strong(强引用)、 weak(弱引用)?什么情况使用copy,assign,和retain?
引用计数机制进行内存管理。
dealloc release 因为retain就要销毁 创建就要释放
readwtite : 可读写(设置器和访问器) readonly : 只读(访问器) assign : 只做赋值
retain,copy : 赋值并引用计数加1 copy : 拷贝并引用计数加1 nonatomic : 非原子性 anotamic : 原子性(保证多线程安全)
strong : 打开ARC时才会使用,相当于retain weak : 打开ARC时才会使用,相当于assign, 可以把对应的指针变量置为nil
copy : 适用于接受了nscopy 协议的对象类型
assign : 适用于一般类型
retain : 适用于一般对象类型
类变量的@protected ,@private,@public,@package,声明各有什么含义?
@protected : 受保护的,自己和自雷可以调用
@private : 私有的, 只有自己可以调用
@public : 公共的, 全局都可以调用
@package : 本包内使用,跨包不可以
线程是什么?进程是什么?二者有什么区别和联系?
线程,有时称为轻量级进程,是被系统独立调度和CPU的基本运行单位。
? ? ? ? 进程是操作系统中可以并行工作的基本单位。
?一个应用程序里至少有一个进程,一个进程里至少有一个线程
谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?
在一个进程中有多个线程,每个线程有自己单独的任务
优点效率快 ? 缺点不安全,耗费资源
有三种
第一种,使用@synchronized(self)
第二种,使用GCD
第三种,使用NSOperationQueue
多线程同步和异步的区别?IOS中如何实现多线程的同步?
一个进程启动的多个不相干线程,它们相互之间关系为异步。
同步的话指的是多线程同时操作一个数据 这个时候需要对数据添加保护 这个保护就是线程的同步。
用GCD中的串行队列来解释多线程的同步,也就是队列中的任务为串行,它们各自对相邻的任务有依赖性,如果任务1不完成,那么任务2就不会开始,这就是同步
简述什么地方会用到多线程?谈谈多线程安全问题的几种解决方案?何为线程同步,如何实现的?分线程回调主线程方法是什么,有什么作用?
假设有一个字符串aabcad,请写一段程序,去掉字符串中不相邻的重复字符串,即上述字符串处理之后的输出结果为:aabcd
NSMutableArray *marry = [[NSMutableArray alloc]init];
? ? for (int i = 0; i str.length - 1; i++) {
? ? ? ? unsigned char a = [str characterAtIndex:i];
? ? ? ? for (int j = i + 1; j str.length; j++) {
? ? ? ? ? ? unsigned char b = [str characterAtIndex:j];
? ? ? ? ? ? if (a == b) {
? ? ? ? ? ? ? ? if (j == i + 1) {
? ? ? ? ? ? ? ? }else{
? ?
? ? ? ? ? ? ? ?[marry addObject:[NSString?stringWithFormat:@%d,j]];
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? }
for (int i = marry.count - 1; i 0; i--) {
?? ? ? ?
? ? ? ? NSInteger num = [[marry objectAtIndex:i]intValue];
? ? ? ? [str deleteCharactersInRange:NSMakeRange(num, 1)];
?
? ? }
获取一台设备唯一标识的方法有哪些?
UIID UUID MAC ADDRESS OPEN U
文档评论(0)