iOS面试题六

1.block和protocol的比较。
数组

block:具备匿名功能的内嵌函数缓存

1)block能够做为函数参数进行传递安全

2)能够直接在程式码中撰写等会要接着执行的程式app


protocol:协议就是方法的声明,而且当某个类遵照了这个协议就至关于拥有了这个协议中全部方法的声明。ide



2.对于语句NSString* testObject = [[NSData alloc]init];testObject在编译时和运行时分别是什么类型的对象?函数

编译时是NSString,运行时是NSDataspa


3. OC中是全部对象间的交互是如何实现的?对象

消息机制图片


4. 什么是沙盒(sandbox)?沙盒包含哪些文件,描述每一个文件的使用场景。如何获取这些文件的路径?如何获取应用程序包中文件的路径?it

iOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用建立的文件夹内读取文件,不能够访问其余地方的内容。全部的非代码文件都保存在这个地方,好比图片、声音、属性列表和文本文件等。

.app文件:这个就是可运行的应用文件

Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录

Library:存储程序的默认设置或其它 状态信息;Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除

tmp:建立和存放临时文件的地 方。

//获取Documents文件夹目录,第一个参数是说明获取Doucments文件夹目录,第二个参数说明是在当前应用沙盒中获取,全部应用沙盒目录组成一个数组结构的数据存放
NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsPath = [docPath objectAtIndex:0];
//获取Cache目录
NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [cacPath objectAtIndex:0];
//Library目录
NSArray *libsPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libPath = [libsPath objectAtIndex:0];
//temp目录
NSString *tempPath = NSTemporaryDirectory();


5. 介绍一下XMPP?有什么优缺点吗?

XMPPThe Extensible Messaging and Presence Protocol(可扩展通信和表示协议)

基于XML的点对点的即时通信协议。
优势:开放,标准,证明可用,分散式,安全,可扩展性,弹性佳,多样性。

缺点:数据负载过重,没有二进制数据


6. 请分别写出SELid的意思?

动态绑定方法   动态类型

相关文章
相关标签/搜索