ios题

1、        简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwritereadonlyassignretaincopynonatomic atomicstrongweak属性的作用?

:retain 对应release ,retain+1,release -1 alloc 对应dealloc  alloc是开辟内存空间dealloc销毁空间

readwrite,生成set,get

readonly, 生成get

assignset 内部直接赋值

retain,先做release ,retain

copy,复制遵守特许协议的对象

nonatomic:非原子性(不会在多线程保证安全)

atomic、原子性(保证)

strong:ARC下使用,arc 强引用和非ARCretain 相似

weak: ARC下使用,和非ARCassign 相似,当系统释放后会指向nil

2、        类变量的@protected,@private,@public,@package,声明各有什么含义?

@protected:本类以及子内都可以访问,系统默认

 @private:只有本类可以访问

@public,:公共的,都可以访问

@package(框架内访问)

(能不能用箭头访问)

3、        线程是什么?进程是什么?二者有什么区别和联系?

进程间是独立,这表现在内容空间,上下文,线程的运行环境

一般来说进程是无法突破程序边界,取其他进程的存储空间,而线程处于进程空间内,所以所产生的线程共享同一内存空间

同一进程代码不同同时进行,除非引入线程.线程属于进程,金城推出时所产生线程强制退出并清除,线程占用资源少于进程,在线程中,进程也是一个线程,尅也理解程序第一个线程

 一个程序只有一个进程,当可以有多个线程

 

4、        谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?

多线程就是可以让一个程序同时执行多个线程,来提高程序的执行效率

实现方法:

1.Thread

3.Cocoa operations;

2.GCD

4.poxs

5、        线程同步和异步的区别?IOS中如何实现多线程的同步?

(异步:并发,同步:串行,,可以使用主队列,queue线程最大数量设为1)区别:同步就是当程序的线程还没有结束时,不可以执行别的操作,可能会卡死程序界面,异步,程序在执行时,不需要等执行结束,可以执行别的操作,相当于开了一个线程.


7、        获取一台设备唯一标识的方法有哪些?

1.uuid

2.udid

3.open udid

4.广告标识

5.vindor

6.mac adderss

token boudle id

 

8、        ios类是否可以多继承?如果没有,那可以用其他方法实现吗?简述实现过程。

Ios 不可以多继承.可以用代理

 

9、        堆和栈的区别?

:在系统中,一般系统管理的对象都在栈中,我们不需要去管理,但不需要的时候,系统会自动释放堆中的对象,一般出了方法体这个对象就释放了.

:我们手动开辟的空间一般在堆中开辟,堆中开辟空间在ARC情况下,系统会延迟释放(autorelease),ARC情况下需要我们手动管理.

 

10、     ios本地数据存储都有哪几种方式?

1,UserDefault

2.codeDate

4.nskeyArchive

3.write写入

5.plist

6.归档反归档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值