en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

4.15.2011

讓後台可以存取 APP 參數的方法

 

所謂的後台,就是在主畫面中點選設定圖示所進入的設定畫面,舉凡語系、時間、網路或是應用程式等都可以在這邊做相關的設定,本篇所要示範的就是,如何透過設定畫面來設定我們的應用程式裡的參數,其方式如下。(本範例採用 Xcode 4 編譯器撰寫)

首先在專案內建立一個新的 Settings Bundle 檔案,並取名為 Setting 如下圖。


建立完成之後,可在 Setting.bundle 內找到 Root.plist,接著繼續編輯此檔,以完成後台設定時所需要的介面,如下圖。


檢視上圖可以得知,我們後台的設定介面,包含以下物件:輸入帳號的 TextField、輸入密碼包含遮罩的 TextField 、自動登入的 Switch 與可以控制安全等級得 Slider,接下來回到程式碼的部份,就如同存取 plist 檔案般,其程式碼如下。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

//第一次執行時的設定
if ([defaults stringForKey:@"nameKey"] == NULL) {
    [defaults setValue:@"Furnace Digital" forKey:@"nameKey"];
    [defaults setValue:@"12345" forKey:@"passwordKey"];
    [defaults setValue:@"0" forKey:@"enabledKey"];
    [defaults setValue:@"0.9" forKey:@"sliderKey"];
}

//輸出
nameLabel.text = [defaults stringForKey:@"nameKey"];
passwordLabel.text = [defaults stringForKey:@"passwordKey"];
switchLabel.text = [defaults stringForKey:@"enabledKey"];
sliderLabel.text = [defaults stringForKey:@"sliderKey"];

這裡有個小 bug,如果是透過 Xcode 編譯來執行此應用程式時,第一次執行的設定值有可能Root.plist 會無法吃到,若要測試應用程式功能是否運作正常請確定您已經「 Stop 」 Xcode 編譯器。






沒有留言:

張貼留言