标签:ios 面试
1.block和protocol的比较。
block:具有匿名功能的内嵌函数
1)block可以作为函数参数进行传递
2)可以直接在程式码中撰写等会要接着执行的程式
protocol:协议就是方法的声明,并且当某个类遵守了这个协议就相当于拥有了这个协议中所有方法的声明。
2.对于语句NSString* testObject = [[NSData alloc]init];testObject在编译时和运行时分别是什么类型的对象?
编译时是NSString,运行时是NSData
3. OC中是所有对象间的交互是如何实现的?
消息机制
4. 什么是沙盒(sandbox)?沙盒包含哪些文件,描述每个文件的使用场景。如何获取这些文件的路径?如何获取应用程序包中文件的路径?
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?有什么优缺点吗?
XMPP:The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议)
基于XML的点对点的即时通讯协议。
优点:开放,标准,证实可用,分散式,安全,可扩展性,弹性佳,多样性。
缺点:数据负载太重,没有二进制数据
6. 请分别写出SEL、id的意思?
动态绑定方法 动态类型
本文出自 “阿成的博客” 博客,请务必保留此出处http://fanyuecheng.blog.51cto.com/9529438/1686195
标签:ios 面试
原文地址:http://fanyuecheng.blog.51cto.com/9529438/1686195