1.object-c的类能够多重继承么?能够实现多个接口么?Category是什么?重写一个类的方式用继承好仍是分类好?为何?面试
object-c的类不能够多重继承;能够实现多个接口,经过实现多个接口能够完成C++的多重继承;Category是分类,通常状况用分类好,用Category去重写类的方法,仅对本类有效,不会影响到其余类与原有类的关系。用继承难以实现原来类和别的类之间的关系。性能
object-c实现C++的多重继承的方法?测试
一、消息传递spa
二、代理和协议.net
三、分类线程
注:我的以为组合也可实现,有高手请指教。代理
2.常见的object-c的数据类型有那些, 和C的基本数据类型有什么区别?如:NSInteger和intcode
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 typedef long NSInteger; typedef unsigned long NSUInteger; #else typedef int NSInteger; typedef unsigned int NSUInteger; #endif
object-c的数据类型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是class,建立后即是对象,而C语言的基本数据类型int,只是必定字节的内存空间,用于存放数值。orm
3.如何对iOS设备进行性能测试?对象
Profile-> Instruments ->Time Profiler
4.Object C中建立线程的方法是什么?若是在主线程中执行代码,方法是什么?若是想延时执行代码、方法又是什么?
线程建立有三种方法:使用NSThread建立、使用GCD的dispatch、使用子类化的NSOperation,而后将其加入NSOperationQueue;在主线程执行代码,方法是performSelectorOnMainThread,若是想延时执行代码能够用performSelector:onThread:withObject:waitUntilDone:
参考资料:http://blog.csdn.net/xunyn/article/details/8302787 iOS基础面试题 http://blog.csdn.net/yiyaaixuexi/article/details/8970734 OC多继承