1.讲讲OC和其他语言好在哪里,不好在哪里
答:
objc优点:
1)Cateogies
2) Posing
3) 动态识别
4) 指标计算
5)弹性讯息传递
6) 不是⼀一个过度复杂的 C 衍⽣生语⾔言
7) Objective-C++ 与 C++ 可混合编程
缺点:
1) 不⽀支援命名空間
2) 不⽀支持运算符重载
3)不⽀支持多重继承
2.SEL和一个函数指针调用同一个方法的结果是不是相同
答:
得到了SEL变量之后,可以通过下⾯面的调⽤用来给⼀一个对象发送消息:
[对象performSelector:SEL变量withObject:参数1 withObject:参数2];
结论:SEL只是⽅方法名标识,实际运⾏行时需要通过消息发送来调⽤用,IMP是”implementation”的缩 写,它是objetive-C ⽅方法 (method)实现代码块的地址,类似函数指针,通过它可以 直接访问任意⼀一个⽅方法。免去发送消息的代价。
3.project workspace scheme的区别?
答:
Project:
⼀一般的某个应⽤用单独新建⼀一个project就可以了,然后把所有的程序⽂文件都放在⾥里⾯面,这个可以满⾜足⼤大部分普通的需求。
Workspace:
项⺫⽬目有可能要使⽤用其他的项⺫⽬目⽂文件,或者引⼊入其他的静态库⽂文件,这个时候workspace就派上⽤用场了,workspace既可以单独管理多个项⺫⽬目,⼜又可以通过配置,让各个项⺫⽬目相互依赖。
Scheme:
Xcode scheme定义了编译集合中的若干target,编译时的⼀一些设置以及要执⾏行的测试集合。可以⾃自定义若干个scheme,但是同⼀一时刻只能运⾏行⼀一个。
4.把你知道的framework写出来,写出功能。
答:
UIKit.framework 包含iOS应用程序用户界面层使用的类和方法,CoreGraphics.framework 包含Quartz 2D 绘图API 接口,Foundation.framework 为CoreFoundation 框架的许多功能提供Objective-C 封装,CoreFoundation.framework 一组C 语言接口,它们为iOS
用程序提供基本数据管理和服务功能,MapKit.framework 该框架供一个可被嵌入到应用程序的地图界面,该界面包含一个可以滚动的地图视图,CoreLocation.framework 可用于定位某个设备当前经纬度,CFNetwork.framework提供一组高性能基于C 语言的接口,它们为使用网络协议提供面向对象抽象。
5.const的用法?
答:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数, 不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其 返回值不为“左值”。