手机用户可
保存上方二维码到手机中,在
微信扫一扫中右上角选择“从
相册选取二维码”即可。
1、问答题 基带是什么意思?
点击查看答案
本题答案:“基带”:基带是iPhone解
本题解析:试题答案“基带”:基带是iPhone解锁的核心概念,虽然一般而言,都认为2.2固件已经被软解,2.2.1固件无法软解,实际上,导致软解失败的原因,其实是2.2固件的基带版本是02.28.00BB被破解,而2.2.1固件的基带版本是02.30.00BB,这个版本的基带已经被破解组织列入放弃破解的行列,因为升级固件之后基带版本也产生了变化,所以才导致升级2.2.1固 件之后机器“变砖”。有部分玩家,自己制作了没有升级基带版本的2.2.1固件,就能够软解。而苹果为了杜绝这种情况的发生,在未来的3.0固件之后,开始对固件和基带版本之间的配合做了新的限制,老版本基带不能配合新版本固件使用。
2、问答题 在开发项目中时,用到了哪些数据存储方式,iphone中常见的方式有哪些,各有什么区别?
点击查看答案
本题答案:数据存储五种形式的应用范围和性能区别(co来源:www.91exam.orgredata
本题解析:试题答案数据存储五种形式的应用范围和性能区别(coredata,sqllite,对象序列化,文件直接读写,NSUserDefault(保存数据到temp文件夹中))
性能比较:文件直接读写>coredata>对象序列化>sqllite
3、问答题 什么是线程的同步?
点击查看答案
本题答案:多线程环境中,一个线程访问资源时,让其他线程不能访问此
本题解析:试题答案多线程环境中,一个线程访问资源时,让其他线程不能访问此资源,表示同步。让线程同步,就是对资源加锁。具体是创建NSCondition对象,调用lock方法对资源加锁。
4、问答题 什么是iTunes?有什么用?
来源:91考试 网
点击查看答案
本题答案:iTunes最大的用处在于同步iPhone,连接iPh
本题解析:试题答案iTunes最大的用处在于同步iPhone,连接iPhone和电脑后,在iTunes中的所有资料(音乐,游戏,软件,电子书等等)会自动同步到iPhone中。iTunes并不是格式转换器,只是iPhone和PC间传输的媒介。当然激活iPhone也必须使用iTunes并连接互联网激活。
5、问答题 卡贴是什么?
点击查看答案
本题答案:卡贴是一个非常薄的小电路版.主要功能就是为了解码电话卡
本题解析:试题答案卡贴是一个非常薄的小电路版.主要功能就是为了解码电话卡.让不是该公司运营的卡也能正常使用打电话.卡贴还有一种叫发就叫硬解(既硬件破解)
6、问答题 平时做项目时怎么实现http协议的通信的?
点击查看答案
本题答案:可以直接使用ASIHttpRequest通讯包,其中的
本题解析:试题答案可以直接使用ASIHttpRequest通讯包,其中的ASIHTTPRequest是父类,继承了NSOpertion类。此通讯包使用CFNetwork框架,内部实现了http协议的封装,可以用于http协议的请求。另外,也可以不使用此通讯包,采用NSURLConnection实现http请求,此类支持同步数据的请求(NSURLConnectionsendSynchronousRequest:)和异步数据的请求([[NSURLConnectionalloc]initWithRequest:theRequestdelegate:self])。
7、问答题 什么是美版?什么是港版?
点击查看答案
本题答案:“美版”、“港版&
本题解析:试题答案“美版”、“港版”:这是对市场上iPhone的货源地的描述,由于现在国内iPhone市场上的水很深,“美版”并不一定代表美国舶来的机器,而是被很多JS用来形容无法官方解锁的机器。“港版”,一般是指香港的行货机器,苹果由于迟迟不能进入大陆市场,而采用了这种曲线救国的办法,在香港发行了没有SIM卡锁的机器,想靠香港的机器来进入大陆市场,所以“港版”机也叫“无锁”机。还有新西兰版也是无锁机,而意大利版和印度版的似乎也是无锁机,不过国内货源比较少。查看机器的型号可以知道机器的版本,这部分资料我会在后面陆续补充。
8、问答题 自制固件是什么?
点击查看答案
本题答案:自制固件说白了就是DIY版的操作系统,或者叫盗版系统,
本题解析:试题答案自制固件说白了就是DIY版的操作系统,或者叫盗版系统,就像电脑上的番茄花园windows系统一样。
9、问答题 线程和进程之间的区别?
点击查看答案
本题答案:进程在执行过程中拥有独立的内存单元,而多个线程共享内存
本题解析:试题答案进程在执行过程中拥有独立的内存单元,而多个线程共享内存单元。进行可以包含多个线程。一个程序至少拥有一个进程,一个进程至少有一个线程。
10、问答题 软件更新如果想增加原表字段的办法?
点击查看答案
本题答案:软件覆盖更新可以保存上个软件的数据库,可以用sql语句
本题解析:试题答案软件覆盖更新可以保存上个软件的数据库,可以用sql语句增加原表中的字段。
11、问答题 单件实例是什么?
点击查看答案
本题答案:Foundation和ApplicationKit框架
本题解析:试题答案Foundation和ApplicationKit框架中的一些类只允许创建单件对象,即这些类在当前进程中的唯一实例。举例来说,NSFileManager和NSWorkspace类在使用时都是基于进程进行单件对象的实例化。当向这些类请求实例的时候,它们会向您传递单一实例的一个引用,如果该实例还不存在,则首先进行实例的分配和初始化。单件对象充当控制中心的角色,负责指引或协调类的各种服务。如果类在概念上只有一个实例(比如NSWorkspacE.,就应该产生一个单件实例,而不是多个实例;如果将来某一天可能有多个实例,您可以使用单件实例机制,而不是工厂方法或函数。
12、问答题 下载电影的处理是同步还是异步。
点击查看答案
本题答案:通信则分为主线程中直接请求,服务器返回迟缓可导致程序卡
本题解析:试题答案通信则分为主线程中直接请求,服务器返回迟缓可导致程序卡死,如果启动线程或线程队列,则不影响主线程运行,说白了就是可以进行其他操作,可称为异步。下载电影用了对象池技术,为异步请求。
13、问答题 线程与进程的区别和联系?
点击查看答案
本题答案:进程和线程都是由操作系统所体会的程序运行的基本单元,系
本题解析:试题答案进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
14、问答题 固件是什么?
点击查看答案
本题答案:固件就是Iphone的操作系统程序,就像windows
本题解析:试题答案固件就是Iphone的操作系统程序,就像windows是电脑通常的操作系统一样。
15、问答题 得到导航栏里面所包含的控制器,如何给导航栏添加背景图片?
点击查看答案
本题答案:NSArray*allControllers=selF
本题解析:试题答案NSArray*allControllers=selF.navigationController.viewControllers;这句话可以返回一个数组,数组里有导航栏里的视图控制器CocoaLigature1
16、问答题 c和obj-c如何混用?
点击查看答案
本题答案:1)obj-c的编译器处理后缀为m的文件时,可以识别o
本题解析:试题答案1)obj-c的编译器处理后缀为m的文件时,可以识别obj-c和c的代码,处理mm文件可以识别obj-c,c,c++代码,但cpp文件必须只能用c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,因为cpp只是cpp
2)在mm文件中混用cpp直接使用即可,所以obj-c混cpp不是问题
3)在cpp中混用obj-c其实就是使用obj-c编写的模块是我们想要的。
如果模块以类实现,那么要按照cppclass的标准写类的定义,头文件中不能出现obj-c的东西,包括#importcocoa的。实现文件中,即类的实现代码中可以使用obj-c的东西,可以import,只是后缀是mm。
如果模块以函数实现,那么头文件要按c的格式声明函数,实现文件中,c++函数内部可以用obj-c,但后缀还是mm或m。
总结:只要cpp文件和cppinclude的文件中不包含obj-c的东西就可以用了,cpp混用obj-c的关键是使用接口,而不能直接使用实现代码,实际上cpp混用的是obj-c编译后的o文件,这个东西其实是无差别的,所以可以用。obj-c的编译器支持cpp.
17、问答题 obj-c的优缺点是什么?
点击查看答案
本题答案:objc优点:
1)Cateogies
本题解析:试题答案objc优点:
1)Cateogies
2)Posing
3)动态识别
4)指标计算
5)弹性讯息传递
6)不是一个过度复杂的C衍生语言
7)Objective-C与C++可混合编程
缺点:
1)不支援命名空間
2)不支持运算符重载
3)不支持多重继承
4)使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。
18、问答题 iphone里是否支持try-catch?
点击查看答案
本题答案:支持,可以用于检测异常,跟java的的try-catc
本题解析:试题答案支持,可以用于检测异常,跟java的的try-catch的区别是多了个@.
19、问答题 越狱是什么意思?
点击查看答案
本题答案:Iphone只能安装正版软件,并且只能去itun平台下
本题解析:试题答案Iphone只能安装正版软件,并且只能去itun平台下.如果想安装破解版的软件(既不花钱,或者可以称为盗版软件)就必须进行越狱.凡能自动安装任何软件者,视为已经越狱.反之为未越狱。
20、问答题
App Store有什么用?
点击查看答案
本题答案:Apple Store-苹果网络商店。其中包括音乐、视
本题解析:试题答案Apple Store-苹果网络商店。其中包括音乐、视频、游戏和软件工具。注册一个免费的App Store账户之后,便可从iTunes Store购买音乐或App Store购买应用软件。先要注册一个帐户,然后就可以从计算机或者从iPhone上下载。音乐及软件都有免费的,但也需要有帐号。
21、问答题 线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?
点击查看答案
本题答案:线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出
本题解析:试题答案线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。
系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。
22、问答题 什么是三码合一?
点击查看答案
本题答案:三码合一:外包装上没有塑料膜包装,盒子后面串号生产周期
本题解析:试题答案三码合一:外包装上没有塑料膜包装,盒子后面串号生产周期条码--机器后壳条码--机器*#06#按出来的串号能对上就是3码合一。
23、问答题 iphone和ipad里有什么区别,有哪些组件不一样?
点击查看答案
本题答案:Ipad里面多了两个控件:弹出控制器(UIPopove
本题解析:试题答案Ip ad里面多了两个控件:弹出控制器(UIPopoverController),分割视图控制器(UISplitViewController)
24、问答题 Kvc是什么,Kvo是什么?有什么特性?
点击查看答案
本题答案:1、Key-valuecoding机制允许通过变量名设
本题解析:试题答案1、Key-valuecoding机制允许通过变量名设置和获取变量值。
[myObjectsetValue:valueObjectforKey:@"myKey"];
[myObjectvalueForKey:@"myKey"];
KVC只能处理对象,不能处理int、float等类型;
2、Key-valueobserving将变量与某个控件绑定,当变量变化时,将通知控件进行相应改变。
25、问答题 类工厂方法是什么?
点击查看答案
本题答案:类工厂方法的实现是为了向客户提供方便,它们将分配和初始
本题解析:试题答案类工厂方法的实现是为了向客户提供方便,它们将分配和初始化合在一个步骤中,返回被创建的对象,并进行自动释放处理。这些方法的形式是+(typE.classNamE.(其中className不包括任何前缀)。工厂方法可能不仅仅为了方便使用。它们不但可以将分配和初始化合在一起,还可以为初始化过程提供对象的分配信息。
类工厂方法的另一个目的是使类(比如NSWorkspacE.提供单件实例。虽然init...方法可以确认一个类在每次程序运行过程只存在一个实例,但它需要首先分配一个“生的”实例,然后还必须释放该实例。工厂方法则可以避免为可能没有用的对象盲目分配内存。
26、问答题 浅复制(拷贝)和深复制(拷贝)分别指的是什么?
点击查看答案
本题答案:浅复制和深复制是对于包含对象成员的对象而言的。浅复制:
本题解析:试题答案浅复制和深复制是对于包含对象成员的对象而言的。浅复制:只复制对象本身,对象的成员只复制指针。深复制:在浅复制的基础上,同时复制对象的成员。
27、问答题 简述iew的frame和bounds的区别。
点击查看答案
本题答案:frame和bounds在大小方面是没有区别的,区别在
本题解析:试题答案frame和bounds在大小方面是没有区别的,区别在于两者的相对坐标不同bounds是相对自己本身窗口的坐标而frame是相对这个view的父视图的坐标。
28、问答题 一代、二代、三代、四代分别是什么意思?
点击查看答案
本题答案:苹果分为一代(2G)、二代(3G)、三代(3GS)和四
本题解析:试题答案苹果分为一代(2G)、二代(3G)、三代(3GS)和四代(iPhone4)。就外观上讲,一代比二代厚。二代和三代外观一样,三代的内存和CPU比二代有所提升。就功能上讲,最大的区别就是一代是2G(此2G为通信频道,并且内存)二代为3G。一代没有GPS定位,而二代有GPS定位;三代有罗盘指南针;而四代有双摄像头和LED闪光灯。
29、问答题 WIFI是什么意思?
点击查看答案
本题答案:WIFI:一种上网方式,基于802.11b/g的上网方
本题解析:试题答案WIFI:一种上网方式,基于802.11b/g的上网方式,也就是我们通常说的无线局域网,只要你能上网,那么买一个无线路由器或者AP就可以建立无线局域网,中国电信有一种服务叫Wlan。
30、问答题 激活是什么意思?
点击查看答案
本题答案:当iphone首次连接iTunes时,iTunes如果
本题解析:试题答案当iphone首次连接iTunes时,iTunes如果提示该硬件需要注册,那么你的手机为未激活版本.反之则已激活。
31、问答题 你切换界面用到了哪些方式?
点击查看答案
本题答案:1、以登陆注册为代表的直接切换法。删除原视图,把新控制
本题解析:试题答案1、以登陆注册为代表的直接切换法。删除原视图,把新控制的视图添加到到UIWindow上
2、以导航为代表的压栈法
3、以模态为代表的[selfpresentModalViewController:fouranimated:YES];
32、问答题 简述对MVC模式的理解。
点击查看答案
本题答案:MVC设计模式考虑三种对象:模型对象、视图对象、和控制
本题解析:试题答案MVC设计模式考虑三种对象:模型对象、视图对象、和控制器对象。模型对象代表特别的知识和专业技能,它们负责保有应用程序的数据和定义操作数据的逻辑。视图对象知道如何显示应用程序的模型数据,而且可能允许用户对其进行编辑。控制器对象是应用程序的视图对象和模型对象之间的协调者。
33、问答题 什么是通讯的同步和异步?
点击查看答案
本题答案:通信在主线程中直接请求,服务器返回迟缓可导致程序卡死一
本题解析:试题答案通信在主线程中直接请求,服务器返回迟缓可导致程序卡死一直等待服务器回传数据,可以称之为同步。如果启动线程或将请求放入线程或线程队列,则不影响主线程运行,可称为异步。
34、问答题 连接服务器用的是什么方法,如果请求过程中,网络出了问题这么办?
点击查看答案
本题答案:NSUrlConnection连接后,有一系列委托方法
本题解析:试题答案NSUrlConnection连接后,有一系列委托方法来接受来自服务器的响应和数据,其中接受相应的方法回得到服务器要传回的数据有多大,接受数据的方法会反复调用来不断接受服务器数据,如果网络出了问题了,会调用一个方法让你来做相关处理。
35、问答题 http和scoket通信的区别。
点击查看答案
本题答案:http是客户端用http协议进行请求,发送请求时候需
本题解析:试题答案http是客户端用http协议进行请求,发送请求时候需要封装http请求头,并绑定请求的数据,服务器一般有web服务器配合(当然也非绝对)。http请求方式为客户端主动发起请求,服务器才能给响应,一次请求完毕后则断开连接,以节省资源。服务器不能主动给客户端响应(除非采取http长连接技术)。
iphone主要使用类是NSUrl Connection;scoket是客户端跟服务器直接使用socket“套接字”进行连接,并没有规定连接后断开,所以客户端和服务器可以保持连接通道,双方都可以主动发送数据。一般在游戏开发或股票开发这种要求即时性很强并且保持发送数据量比较大的场合使用。主要使用类是CFSocketRef
36、问答题 简述Get请求和Post请求的区别。
点击查看答案
本题答案:在http通讯协议中默认的就是Get请求,Get请求是
本题解析:试题答案在http通讯协议中默认的就是Get请求,Get请求是在请求地址后加上了要提交的信息,以问号标记,问号之后追加参数名=参数值,各参数之间用&隔开。doGet适合数据量比较小,格式简单的,不私密的数据。对于http报文而言,因为get请求的信息在请求地址后面追加,所以其信息只在http报文的信息头中,http报文实体部分并无数据内容。Post请求适合于比较私密的数据比如用户名密码,可以提交二进制数据,或大量数据。通过post提交的数据在http报文的实体部分。具体HTTP报文参考之前给的文档。Sock et中的默认连接超时时间是30秒默认大小是8k,可以理解为一个数据包的极限大小,如果向网络另一端发送的数据超过8k范围,则肯定要被肢解成多个包发送。
37、问答题 添加“源”有什么用?
点击查看答案
本题答案:源地址一般是在Cydia中使用的是下载资源用的。你可以
本题解析:试题答案源地址一般是在Cydia中使用的是下载资源用的。你可以在Cydia中添加源,然后打开源,里面有很多软件和资源可供下载使用。不添加就不能下载。
38、问答题 Cydia是什么?有什么用?
点击查看答案
本题答案:cydia是iPhone/ipod touch破解小组
本题解析:试题答案cydia是iPhone/ipod touch破解小组加入的一个类似苹果在线软件商店iTunes store的平台软件。它是在越狱的过程中被装入到系统中的,其中多数为第三方软件和补丁,主要都是弥补系统不足用的。
具体点:cydia是一个安装iphone第三方软件的一个平台,由JayFreeman(saurik)领导,OkoriGroup以及UCSB大学合作开发的结果。
39、问答题 sprintf,strcpy,memcpy使用上有什么要注意的地方?
点击查看答案
本题答案:strcpy是一个字符串拷贝的函数,它的函数原型为st
本题解析:试题答案strcpy是一个字符串拷贝的函数,它的函数原型为strcpy(char*dst,constchar*srC.;
将src开始的一段字符串拷贝到dst开始的内存中去,结束的标志符号为’\0’,由于拷贝的长度不是由我们自己控制的,所以这个字符串拷贝很容易出错。具备字符串拷贝功能的函数有memcpy,这是一个内存拷贝函数,它的函数原型为memcpy(char*dst,constchar*src,unsignedintlen);
将长度为len的一段内存,从src拷贝到dst中去,这个函数的长度可控。但是会有内存叠加的问题。
sprintf是格式化函数。将一段数据通过特定的格式,格式化到一个字符串缓冲区中去。sprintf格式化的函数的长度不可控,有可能格式化后的字符串会超出缓冲区的大小,造成溢出。
40、问答题 自动释放池是什么,如何工作?
点击查看答案
本题答案:当您向一个对象发送一个autorelease消息时,C
本题解析:试题答案当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。
1.ojc-c是通过一种"referring counting"(引用计数)的方式来管理内存的,对象在开始分配内存(alloC.的时候引用计数为一,以后每当碰到有copy,retain的时候引用计数都会加一,每当碰到release和auto release的时候引用计数就会减一,如果此对象的计数变为了0,就会被系统销毁.
2.NSAutoreleasePool就是用来做引用计数的管理工作的,这个东西一般不用你管的.
3.auto release和release没什么区别,只是引用计数减一的时机不同而已,auto release会在对象的使用真正结束的时候才做引用计数减一.
41、问答题 简述目标-动作机制。
点击查看答案
本题答案:目标是动作消息的接收者。一个控件,或者更为常见的是它的
本题解析:试题答案目标是动作消息的接收者。一个控件,或者更为常见的是它的单元,以插座变量(参见"插座变量"部分)的形式保有其动作消息的目标。
动作是控件发送给目标的消息, 或者从目标的角度看,它是目标为了响应动作而实现的方法。程序需要某些机制来进行事件和指令的翻译。这个机制就是目标-动作机制。
42、问答题 什么是键-值,键路径是什么?
点击查看答案
本题答案:模型的性质是通过一个简单的键(通常是个字符串)来指定的
本题解析:试题答案模型的性质是通过一个简单的键(通常是个字符串)来指定的。视图和控制器通过键来查找相应的属性值。在一个给定的实体中,同一个属性的所有值具有相同的数据类型。键-值编码技术用于进行这样的查找—它是一种间接访问对象属性的机制。
键路径是一个由用点作分隔符的键组成的字符串,用于指定一个连接在一起的对象性质序列。第一个键的性质是由先前的性质决定的,接下来每个键的值也是相对于其前面的性质。键路径使您可以以独立于模型实现的方式指定相关对象的性质。通过键路径,您可以指定对象图中的一个任意深度的路径,使其指向相关对象的特定属性。
43、问答题 id是什么?int能否为id?如何封装成id?
点击查看答案
本题答案:id是任意对象类型int是整型,属于基本类型所以不是i
本题解析:试题答案id是任意对象类型int是整型,属于基本类型所以不是id因为int不是id,所以就通过转换的方式将int转换为id类型例如可以通过NSNumber封装成一个对象。
44、问答题 类别有什么作用?
点击查看答案
本题答案:类别有三大作用,
1.可以使本来需要在.h中
本题解析:试题答案类别有三大作用,
1.可以使本来需要在.h中声明的方法放到.m文件中声明,达到了可以使方法不对外公开。
2.可以方便的扩展类,甚至系统类都可以轻易扩展,维护了代码原本的结构不受影响。
3.类别可以写到不同的.h或.m文件中,可以分散代码到跟类别的扩展功能想关联的地方,方便查看。
45、问答题 解锁是什么意思?
点击查看答案
本题答案:解锁,这里主要讲的是软件,也就是说只靠软件的方式实现解
本题解析:试题答案解锁,这里主要讲的是软件,也就是说只靠软件的方式实现解除iphone的运营商限制,不限于使用模拟的方法。比如iphone2G所使用的软解方案,就是直接修改了基带的内容。
46、问答题 什么是四码合一?
点击查看答案
本题答案:机器的包装盒上的IMEI和IPHONE背面的IMEI和
本题解析:试题答案机器的包装盒上的IMEI和IPHONE背面的IMEI和*#06#的IMEI和发票上的IMEI都能对上。
47、问答题 segment怎么切换视图 ?
点击查看答案
本题答案:UISegmentController可以绑定方法,方
本题解析:试题答案UISegmentController可以绑定方法,方法被调用后可以获得segment的索引,从而判断哪个视图将被显示,于是可以将原视图从父视图中删除,添加新视图。
48、问答题 简述堆和栈的区别。
点击查看答案
本题答案:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工
本题解析:试题答案管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memoryleak。
申请大小:栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示overflow。因此,能从栈获得的空间较小。堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
碎片问题:对于堆来讲,频繁的new/delete势必会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。对于栈来讲,则不会存在这个问题,因为栈是先进后出的队列,他们是如此的一一对应,以至于永远都不可能有一个内存块从栈中间弹出
分配方式:堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由alloca函数进行分配,但是栈的动态分配和堆是不同的,他的动态分配是由编译器进行释放,无需我们手工实现。
分配效率:栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较高。堆则是C/C++函数库提供的,它的机制是很复杂的。
49、问答题 有锁(版)和无锁(版)是什么意思?
点击查看答案
本题答案:有锁版:凡是必须解用卡贴或者软解方式破解后才能使用打电话功能
本题解析:试题答案有锁版:凡是必须解用卡贴或者软解方式破解后才能使用打电话功能的Iphone通常为有锁版。
无锁版:直接插卡,并且不借用卡贴、软解等任何第三方方式既可使用打电话功能Iphone通常为无锁版.
50、问答题 #import跟#include的区别,@class呢?
点击查看答案
本题答案:@class一般用于头文件中需要声明该类的某个实例变量
本题解析:试题答案@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import而#import比起#include的好处就是不会引起交叉编译
51、问答题 什么是五码合一?
点击查看答案
本题答案:手机包装盒上串码+电池仓贴IMEI+*#06#出来的串
本题解析:试题答案手机包装盒上串码+电池仓贴IMEI+*#06#出来的串号+发票上的串码+用二维码识别软件识别手机电池仓贴的二维码出来的串号。
52、问答题 sqlite和sqlserver有哪些区别?
点击查看答案
本题答案:Sqlite是微型版,功能自然比sqlserver功能
本题解析:试题答案Sqlite是微型版,功能自然比sqlserver功能少。
sqlite只能添加和修改字段,不能删除字段。
sqlite只支持单事务,不能支持多事务。
Sqlite对触发器支持不完整。
Sqlite对左连接右连接支持的不好
如果查询的内容涉及几万条数据,如何提高效率和速度。
可以使用类似sqlserver的事务处理。
53、问答题 协议是什么,有什么作用?
点击查看答案
本题答案:协议很像java中的接口,某个类实现协议后,就必须实现
本题解析:试题答案协议很像java中的接口,某个类实现协议后,就必须实现协议中规定的@require的方法,比如一个类A,一个类B都实现某“协议”后,这个类A的对象和B的对象都可以赋值给这个协议的类型变量,比如id<协议>变量名=A类或B类的对象,于是这个变量就完成了能够指向多个不同的类的对象并调用对象中的实现协议的方法。
54、问答题 白苹果是什么意思?
点击查看答案
本题答案:iPhone开机的时候会有一个白苹果的标志,在屏幕最中
本题解析:试题答案iPhone开机的时候会有一个白苹果的标志,在屏幕最中间。周围全部为黑色。论坛里面所说的白苹果就是开机以后不能进入系统,一直持续保持白苹果这个界面。说白了,就是手机无法正常使用了。
55、问答题 简述cocoatouch框架。
点击查看答案
本题答案:iPhoneOS应用程序的基础CocoaTouch框架
本题解析:试题答案iPhoneOS应用程序的基础CocoaTouch框架重用了许多Mac系统的成熟模式,但是它更多地专注于触摸的接口和优化。UIKit为您提供了在iPhoneOS上实现图形,事件驱动程序的基本工具,其建立在和MacOSX中一样的Foundation框架上,包括文件处理,网络,字符串操作等。
CocoaTouch具有和iPhone用户接口一致的特殊设计。有了UIKit,您可以使用iPhoneOS上的独特的图形接口控件,按钮,以及全屏视图的功能,您还可以使用加速仪和多点触摸手势来控制您的应用。
各色俱全的框架除了UIKit外,CocoaTouch包含了创建世界一流iPhone应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问API以控制摄像头,或通过GPS获知当前位置。CocoaTouch既包含只需要几行代码就可以完成全部任务的强大的Objective-C框架,也在需要时提供基础的C语言API来直接访问系统。这些框架包括:
CoreAnimation:通过CoreAnimation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。
CoreAudio:CoreAudio是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。
CoreData:提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。
功能列表:框架分类
下面是CocoaTouch中一小部分可用的框架:
音频和视频:CoreAudio、OpenAL、MediaLibrary、AVFoundation
数据管理:CoreData、SQLite
图形和动画:CoreAnimation、OpenGLES、Quartz2D
网络/li>:Bonjour、WebKit、BSDSockets
用户应用:AddressBook、CoreLocation、MapKit、StoreKit
56、问答题 plist文件怎么获取里面的数据?
点击查看答案
本题答案:以通过字典直接读入plist,将来从字典中获取数据NS
本题解析:试题答案以通过字典直接读入plist,将来从字典中获取数据NSDictionary*dict=[[NSDictionary alloc] initWithContentsOfFile:path];plist最大的特点是标签是一些规定标签,比如字典<dict>对应,数组对应<array>,字符串对应<string>
题库试看结束后
微信扫下方二维码即可打包下载完整版《
★软件工程师考试》题库
手机用户可保存上方二维码到手机中,在微信扫一扫中右上角选择“从相册选取二维码”即可。
题库试看结束后
微信扫下方二维码即可打包下载完整版《
软件工程师考试:iPhone软件工程师》题库,
分栏、分答案解析排版、小字体方便打印背记!经广大会员朋友实战检验,此方法考试通过率大大提高!绝对是您考试过关的不二利器!
手机用户可
保存上方二维码到手机中,在
微信扫一扫中右上角选择“从
相册选取二维码”即可。