B7-iOS基礎面試題

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

相關文章
相關標籤/搜索