iPhoneアプリ開発学校に通う生徒のおおまかな学習日報

Objective-C初心者。iPhoneアプリ開発学校に通う落ちこぼれです。授業の内容を記録しているのですが時間の都合でおおまかに書いてます。投稿内容は参考にしちゃだめです。

【月曜日】プリファレンスの読み書き

週明け。
また睡眠時間5時間半くらい。足りんぬ。

休み中にiPhoneのアプリをいくつかダウンロードして使っていたら「NS○○○」という文字の入ったエラーメッセージに出くわして「ああ、クラスがなんかしちゃってるんだな」と、なんとなくわかってる風なふりをしている自分がいました。
実際全然わかってませんが。


で、午前の授業。
プリファレンスの読み書きの勉強。
プリファレンスとは、アプリの設定情報などを手軽に書き込み仕組みだそうです。
より簡単に設定内容を保存するNSUserDefaultsというクラスの仕組みを使う勉強をします。

▼まずはstoryboardで画面を作って
(見た目は以前作った画面と同じだけどね)
f:id:jaam:20130930131254p:plain

▼テキストフィールドに文字を入力して書き込みをタップすると、テキストファフィルに文字が保存され、テキストフィールドの文字を消したあとに読み込みをタップすると、さっきの文字がテキストフィールドに表示される
f:id:jaam:20130930131307p:plain

ボタンクリック時のアクションでNSUserDefaultsクラスを使用しています

- (IBAction)clickButton:(UIButton*)sender {
    
    if(sender.tag == BTN_WRITE){
        // プリファレンスの書き込み
        // UserDefaultsの取得
        NSUserDefaults* pref=[NSUserDefaults standardUserDefaults];
        
        // テキストフィールド内の文字をtextという名称でセットする
        [pref setObject:_textField.text forKey:@"text"];
        
        // 明示的に書き込み
        [pref synchronize];
    } else if (sender.tag == BTN_READ) {
        // プリファレンスの読み込み
        // UserDefaultsの取得
        NSUserDefaults* pref = [NSUserDefaults standardUserDefaults];
        
        // UserDefaultsからtextというキーの値を文字列で取得
        _textField.text = [pref stringForKey:@"text"];
    }
}

▼この場合、.plistという拡張子のファイルにこのように保存される。
f:id:jaam:20130930131334p:plain


午後の授業。
設定画面をNSUserDefaultsで保存する画面を作る勉強。
TableViewを使うんだけどその場合、storyboardの使い方が違うので先生のやり方を見ながら教わる。

▼赤線で囲った部分を変更した
1回やっただけじゃ確実に忘れそうだ…
f:id:jaam:20130930131341p:plain

▼ココも変えたり
f:id:jaam:20130930131349p:plain

▼更にTableViewController.mのココもいじったり
f:id:jaam:20130930131406p:plain

そして、渡されたプリントに書いてあるソースコードをひたすら打つ打つ打つ。

途中で授業終了。