這是 Mac 底下預設的 GUI 反應,不過我們希望使用者對第二個 TextField 輸入任何文字,因為第二個 TextField 是用來顯示編碼結果的。
在 Interface Builder 中 TextField 的屬性視窗有 Selectable 與 Editable 兩個選項,預設為勾選
兩個都要取消勾選,這樣重新編譯 (compile) 後,使用者就無法在第二個 TextField 進行輸入
另一方面,我們希望使用者在第一個 TextField 輸入文字,輸入完成按下 Enter 後,程式就能儲存輸入文字到屬性 (property) inputText 之中,並且在 displayField 顯示使用者輸入文字的提示訊息。
還記得嗎?我們之前設定 inputSomething: 方法 (method) 與第一個 TextField 產生連結,因此取得使用者輸入的相關程式碼要放在 inputSomething: 內,如下
- (IBAction) inputSomething: (id)sender { inputText = [inputField stringValue]; NSString *temp = @"This is Input textfield. Your input is '"; temp = [temp stringByAppendingString: inputText]; temp = [temp stringByAppendingString: @"'"]; [displayField setStringValue: temp]; [temp autorelease]; }
inputSomething: 的設計很簡單,首先以 inputField 的 stringValue 取得使用者輸入文字,並將該文字的指標 (pointer) 儲存到 inputText 裡
inputText = [inputField stringValue];
然後開始建立提示訊息,我們將使用者輸入文字用單引號圍起來,最後在 displayField 印出該訊息
NSString *temp = @"This is Input textfield. Your input is '"; temp = [temp stringByAppendingString: inputText]; temp = [temp stringByAppendingString: @"'"]; [displayField setStringValue: temp]; [temp autorelease];
Build and Go ,輸入文字後按 Enter 結果如下
接下來,我們繼續設置編碼與解碼的功能吧!
中英文術語對照 | |
---|---|
編譯 | compile |
屬性 | property |
方法 | method |
指標 | pointer |
您可以繼續參考
GUI 篇
相關目錄
Objective-C 入門指南
Objective-C 教材
首頁
參考資料
Learning Objective-C: A Primer
The Objective-C Programming Language
Cocoa Fundamentals Guide
Coding Guidelines for Cocoa
Advanced Memory Management Programming Guide
Archives and Serializations Programming Guide
沒有留言:
張貼留言