以下為「iPhone/iPad應用程式開發:Objective-C語言基礎」e等公務園+測驗解答,共 49 題,供公務人員學習參考。
何謂建構子?
- 用來初始化成員變數
- 物件被消滅前會被呼叫的第一個方法
- 配置足夠的記憶體
- 存放資料
單行註解的使用為?
- //
- /**/
- (點)
- []
關於記憶體配置的敘述哪一個正確?
- 只要有配置記憶體就要釋放
- 配置記憶體後可以不用管它,系統會自動幫我們釋放
- 記憶體配置是透過init方法
- 不需要記憶體配置就可以使用物件了
主控台的輸出可使用哪些方法?
- NSLog
- printf
- CFShow
- Cin
關於點運算子的敘述哪一個正確?
- 其實就是getter與setter
- &
- 不可以指定 getter的名稱
- 可以用來存取某個方法回傳的值
以下何者不是iOS應用程式常見的檔案格式?
- h
- m
- mm
- c
以下何者不是Objective C類別的設計方法?
- 以+或-符號決定是類別級或物件級的方法
- 型態都必須以()括起來
- 以:分隔參數
- 以()標示參數
有關iOS 系統架構,以下何者為非?
- 有Cocoa Layer
- 有Media Layer
- 有Core Services Layer
- 有Core OS Layer
C語言的NULL相當於Objective C的哪一個識別自null
- 0
- NO
- FALSE
- nil
有關Objective C物件使用方式的描述,何者為非?
- 以類別方法alloc取得記憶體
- 以建構子初始化
- 可以自行設計建構子初始化指定的資料
- 物件不用時會自動摧毀
關於協定protocol的敘述哪一個正確?
- 可以包含方法的實作
- 跟Java的interface用途相似
- 一個類別只能實作一個protocol
- 以上皆非
關於NSLog與CFShow的敘述哪一個正確?
- 兩者的功用都一樣
- CFShow可以輸出陣列NSArray裡面每一個元素以及其位址
- CFShow可以做格式化輸出
- NSLog只能輸出基本資料型別
有關char *str =”Hello World iPhone” 的 *的意義,何者解釋較佳?
- 宣告變數
- 宣告指標
- 定義內容
- 定義常數
下列哪個指示字不是Objective C 類別用來描述資料成員存取全縣的關鍵字?
- @public
- @private
- @protected
- @pull
有關IBAction的描述,何者不恰當?
- 屬於巨集定義
- 針對IB使用
- 連接用的方法
- 屬於畫面的成員變數
關於protocol的描述,以下何者為非?
- 制定某個類別可以使用的選擇器
- 制定其詳細實作內容
- 利用@protocol宣告
- 不可用以類別方式宣告與建立
有關id的描述,何者不恰當?
- 屬NSObject類型
- 強實體變數
- 可用來代表任何變數形態
- 通用類型
欲用NSLog在輸出畫面中印出另一個字串變數的語法是?
- NSLog(”……%@……”)
- NSLog(”……%c……”)
- NSLog(”……%d……”)
- NSLog(”……%f……”)
關於#import與#include的敘述哪一個錯誤?
- #import可以取代#include的使用
- 兩個功能都一樣,使用哪一個都沒有什麼兩樣
- #import可以改善重覆定義的問題
- 在Objective-C可以使用#include
自行設計的類別若要實作某個協定(protocal),須以何種符號表達?
- <協定名稱>
- (協定名稱)
- {協定名稱}
- [協定名稱]
有關訊息的描述,傳入的參數代表何種意義?
- 代表所要發送的訊息
- 代表訊息所要接收的資訊
- 執行該物件的方法
- 所要處理的資訊
關於Objective C的敘述何者正確?
- 是一種物件導向的程式語言
- iOS App只能使用Objective C
- 專門用來開發iOS App沒有其他用途
- 由另外一種物件導向語言C++演變而來
關於.mm檔案,哪一個有誤?
- 與.m檔案用途一樣,兩者副檔名可以互換
- 用於包含有C的Objective-C的原始檔
- 用於包含有C++的Objective-C的原始檔
- 是Objective-C的標題檔
關於分類category,下列敘述何者正確?
- 繼承一個類別而得到一個新的類別並增加其原有功能
- 類似Java的package
- 在既有的類別下新增功能而不用產生新的類別
- 以上皆非
關於C與Objective-C的敘述哪一個正確?
- C語言的字串與Objective-C的字串是同樣一種資料形態
- 在Objective-C不可以使用C的基本資料形態
- 在Objective-C可以混合使用C的語法
- C的陣列與指標在Objective-C不可以使用
有關於以下的描述,哪一個正確?
- Objective-C是一個提供API呼叫的框架庫
- Cocoa Framework是iOS上的一個框架庫
- Cocoa Touch Framework是Mac平台上的框架庫
- 以上皆非
Objective-C的選擇器目的在於?
- 說明後面參數的意義
- 說明整個方法的用途
- 用來做條件判斷用的
- 以上皆非
哪一個不是@property裡面的設定之一?
- atomic
- nonatomic
- readonly
- readwrite
以下為Objective-C專屬的語法?
- ->
- (點)
- []
- ””
選擇器是屬於?
- 晚期繫結
- 早期繫結
- 與上述無關
- 中期繫結
有關Objective-C的描述,以下何者為非?
- 單一繼承的語言
- 所有的類別的原始祖先均為 NSObject
- 物件導向的 C 語言
- 比C++複雜
有關Objective C類別的敘述,何者是對的?
- 宣告時一定要寫明繼承的類別
- 宣告與實作一定要寫在不同的檔案中
- 可以在宣告中直接實作方法
- 變數必須宣告在{}中
關於NSObjectl的描述,以下何者為非?
- 所有類別的單一父類別
- 上層還有Object類別
- UIResponder是其子類別
- 利用alloc配置記憶體
關於id這個資料形態的敘述哪些正確?
- 沒有這種資料形態
- 代表任意類別的資料形態
- 是一個指標
- 與整數是一樣的意思
在Objective C類別宣告中以@property設定過的資料變數,在實作部分要以哪個指示字對應?
- @selector
- @private
- @synthesize
- @getter
有關SEL的描述,何者不恰當?
- 表示方法的名稱
- 屬於Selector類型
- 不可傳入參數
- 可透由@selector產生物件
Objective C呼叫物件方法的方式是?
- 物件.方法
- 指標->方法
- [指標 方法]
- (物件 方法)
關於[person name:@”Ming” age:20]的描述,以下何者正確?
- name傳入20
- age傳入Ming
- person接收兩個變數
- age傳入字串形態
類別的宣告與實作中是用什麼作為結尾符號?
- @interface
- @implementation
- #end
- @end
訊息描述包含下列哪些選項?
- 訊息接收者
- 指標物件
- 發送的訊息
- 選擇器
Objective-C類別體系的最上層類別是?
- Class
- NSObject
- Object
- Father
有關IBOutlet的敘述下列何者是錯的?
- 對Interface Builder提示
- 等於void
- 連接到畫面的某個動作
- 連揪到畫面的某個元件
在既有的類別中擴充功能,須以何種符號表達?
- <分類>
- (分類)
- {分類}
- [分類]
關於建構子與解構子的敘述哪一個正確?
- 建構子可以自由命名沒有限制
- 解構子的形式可以自定
- 解構子會在物件釋放時自動被呼叫
- 建構子必須回傳一個id的物件,且這個物件可以為任意類別
如果要輸出數值的格式化,以下哪些選項較為恰當?
- %c
- %d
- %@
- %f
if…else屬於哪一種敘述句?
- 指標
- 條件判斷
- 迴圈控制
- 前置處理指令
有關IBOutlet的描述,何者不恰當?
- 屬於巨集定義
- 針對IB使用
- 連接用的方法
- 屬於畫面的成員變數
有關*.xib檔案功能的描述,下列何者是錯的?
- Interface Builder編輯器產生的畫面描述檔
- iOS程式框架會將其解讀轉譯成產生畫面的程式碼
- iOS App的畫面一定要從.xib產生*
- 可藉由拖拉元件的方式設計
以下何者不是NSObject的預設函數?
- alloc
- init
- view
- retain