• "IOS"

    相關試題
    第 1 題 [單選題] :
    如果你不聲明一個方法定義返回類型,默認的返回類型是什么?
    答案:B

    解析:

    第 2 題 [問答題] :
    寫一個NSString類的實現

    解析: <pre ><code class=+ (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString encoding: (NSStringEncoding)encoding { NSString *obj; obj = [self allocWithZone: NSDefaultMallocZone()]; obj = [obj initWithCString: nullTerminatedCString encoding: encoding]; return AUTORELEASE(obj); } "objectivec hljs">+ (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString encoding: (NSStringEncoding)encoding { NSString *obj; obj = [self allocWithZone: NSDefaultMallocZone()]; obj = [obj initWithCString: nullTerminatedCString encoding: encoding]; return AUTORELEASE(obj); } </code></pre>

    第 3 題 [問答題] :
    通知和協議的不同之處??答案注釋:協議有控制鏈(has-a)的關系,通知沒有。?首先我一開始也不太明 白,什么叫控制鏈(專業術語了~)。但是簡單分析下通知和代理的行為模式,我們大致可以有自己的理解?簡單來說,通知的話,它可以一對多,一條消息可以發 送給多個消息接受者。?代理按我們的理解,到不是直接說不能一對多,比如我們知道的明星經濟代理人,很多時候一個經濟人負責好幾個明星的事務。?只是對于 不同明星間,代理的事物對象都是不一樣的,一一對應,不可能說明天要處理A明星要一個發布會,代理人發出處理發布會的消息后,別稱B的?發布會了。但是通 知就不一樣,他只關心發出通知,而不關心多少接收到感興趣要處理。?因此控制鏈(has-a從英語單詞大致可以看出,單一擁有和可控制的對應關系。

    解析:

    第 4 題 [問答題] :
    延展是什么?作用是什么?

    解析:延展(extension):在自己類的實現文件中添加類目來聲明私有方法。

    第 5 題 [單選題] :
    當執行下面的程序時,如果輸入ABc,則輸出結果是________。
    #include”stdio.h”
    #include”string.H”
    main()
    {  char ss[10]=”12345”;
    gets(ss);strcat(ss,”6789″);
    printf(”%s\n”,ss);
    }
    答案:A

    解析:strcat(str1,str2)合并字符串函數的作用是把str2所指字符串的內容連接到strl字 符串的后面,自動刪去strl原來串中的‘\0’。為了進行這項操作,要求strl所指的字符串后面有足夠的空間來容納’str2所指字符串中的內容。函 數值為strl所指第一個字符的地址。

    第 6 題 [單選題] :
    可以在 objective C 的環境里調用C++ 的代碼嗎?
    答案:A

    解析:

    第 7 題 [多選題] :
    NSXML框架中核心的是NSXMLParser和它的委托協議NSXMLParserDelegate,NSXMLParserDelegate常用方法有哪些?
    答案:ABCDE

    解析:

    第 8 題 [單選題] :
    以+和-符號開頭的方法有什么不同?
    答案:A

    解析:

    第 9 題 [問答題] :
    #import確定一個文件只能被導入一次,這使你在遞歸包含中不會出現問題。

    解析:所以,#import比起#include的好處就是它避免了重復引用的問題。所以在OC中我們基本用的都是import。 #import&lt;&gt;包含iOS框架類庫里的類,#import""包含項目里自定義的類。

    第 10 題 [問答題] :
    方法和選擇器有何不同??答案注釋:selector是一個方法的名字,method是一個組合體,包含了名字和實現.?詳情可以看apple文檔。

    解析:

    第 11 題 [問答題] :
    定義屬性時,什么情況使用copy,assign,和retain?

    解析:assign用于簡單數據類型,如 NSInteger,double,bool,retain 和copy用戶對象,copy用于當 a指向一個對象,b也想指向同樣的對象的時候,如果用assign,a如果釋放,再調用b會crash,如果用copy 的方式,a和b各自有自己的內存,就可以解決這個問題。retain 會使計數器加一,也可以解決assign的問題。另外:atomic和nonatomic用來決定編譯器生成的getter和setter是否為原子操 作。在多線程環境下,原子操作是必要的,否則有可能引起錯誤的結果。加了atomic,setter函數會變成下面這樣: if (property != newValue) { [property release]; property = [newValue retain]; }

    第 12 題 [單選題] :
    當連接一個特定主機時,你應該使用NSHost,正確還是錯誤?
    答案:B

    解析:

    第 13 題 [問答題] :
    什么是鍵-值,鍵路徑是什么

    解析:模型的性質是通過一個簡單的鍵(通常是個字符串)來指定的。視圖和控制器通過鍵來查找相應的屬性值。在一個給定的實體中,同一個屬性的所有值具有相同的數據類型。鍵-值編碼技術用于進行這樣的查找—它是一種間接訪問對象屬性的機制。 鍵路徑是一個由用點作分隔符的鍵組成的字符串,用于指定一個連接在一起的對象性質序列。第一個鍵的 性質是由先前的性質決定的,接下來每個鍵的值也是相對于其前面的性質。鍵路徑使您可以以獨立于模型 實現的方式指定相關對象的性質。通過鍵路徑,您可以指定對象圖中的一個任意深度的路徑,使其指向相 關對象的特定屬性。

    第 14 題 [單選題] :
    在一個對象的方法里面self.name = @"object";和 name = @"object";兩種設置屬性不同之處是:
    答案:D

    解析:

    第 15 題 [問答題] :
    冒泡排序算法的時間復雜度是什么?

    解析:O(n^2)

    第 16 題 [單選題] :
    線程和進程的區別不正確的是
    答案:B

    解析:

    第 17 題 [單選題] :
    以下哪一段代碼不會拋出異常()
    答案:C

    解析:

    第 18 題 [單選題] :
    Key value coding用于間接使用索引訪問一個對象的屬性,正確還是錯誤?
    答案:A

    解析:

    第 19 題 [問答題] :
    一個objc對象的isa的指針指向什么?有什么作用?

    解析:指向他的類對象,從而可以找到對象上的方法

    第 20 題 [單選題] :
    下面描述中,不符合結構化程序設計風格的是:
    答案:A

    解析:

    星光彩票官网