當前位置:學問谷 >

職場範例 >筆試 >

ios面試筆試題

ios面試筆試題

招聘公司出ios面試筆試題事為了選出更優秀的人才,以下是ios面試筆試題,歡迎閲覽!

ios面試筆試題

  1. Object-c的類可以多重繼承麼?可以實現多個接口麼?Category是什麼?重寫一個類的方式用繼承好還是分類好?為什麼?

答: Object-c的類不可以多重繼承;可以實現多個接口,通過實現多個接口可以完成C++的多重繼承;Category是類別,一般情況用分類好,用Category去重寫類的方法,僅對本Category有效,不會影響到其他類與原有類的關係。

  2. #import 跟#include 又什麼區別,@class呢, #import<> 跟 #import””又什麼區別?

答:#import是Objective-C導入頭文件的關鍵字,#include是C/C++導入頭文件的關鍵字,使用#import頭文件會自動只導入一次,不會重複導入,相當於#include和#pragma once;@class告訴編譯器某個類的聲明,當執行時,才去查看類的實現文件,可以解決頭文件的相互包含;#import<>用來包含系統的.頭文件,#import””用來包含用户頭文件。

  3. 屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什麼作用,在那種情況下用?

答:

1). readwrite 是可讀可寫特性;需要生成getter方法和setter方法時

2). readonly 是隻讀特性 只會生成getter方法 不會生成setter方法 ;不希望屬性在類外改變

3). assign 是賦值特性,setter方法將傳入參數賦值給實例變量;僅設置變量時;

4). retain 表示持有特性,setter方法將傳入參數先保留,再賦值,傳入參數的retaincount會+1;

5). copy 表示賦值特性,setter方法將傳入對象複製一份;需要完全一份新的變量時。

6)tomic 非原子操作,決定編譯器生成的setter getter是否是原子操作,atomic表示多線程安全,一般使用nonatomic

  4.對於語句NSString*obj = [[NSData alloc] init]; obj在編譯時和運行時分別時什麼類型的對象?

答: 編譯時是NSString的類型;運行時是NSData類型的對象

  5.常見的object-c的數據類型有那些, 和C的基本數據類型有什麼區別?如:NSInteger和int

答:object-c的數據類型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,這些都是class,創建後便是對象,而C語言的基本數據類型int,只是一定字節的內存空間,用於存放數值;NSInteger是基本數據類型,並不是NSNumber的子類,當然也不是NSObject的子類。NSInteger是基本數據類型Int或者Long的別名(NSInteger的定義typedef long NSInteger),它的區別在於,NSInteger會根據系統是32位還是64位來決定是本身是int還是Long。

   聲明的對象有什麼特性?

答:Id 聲明的對象具有運行時的特性,即可以指向任意類型的objcetive-c的對象;

標籤: iOS 筆試 面試
  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flzc/bishi/m9394.html