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多繼承