お使いのブラウザは、バージョンが古すぎます。

このサイトは、Internet Explore8・Internet Explore9には対応しておりません。
恐れ入りますが、お使いのブラウザをバージョンアップしていただきますよう宜しくお願いいたします。

「Core Data」を利用したiPhoneアプリ開発④: 編集画面の実装

久しぶりに「Core Data」を使った開発の記事にもどってきました。今回は登録情報の詳細画面から、登録データの編集を行えるページにカスタマイズしていきます。

詳細画面の作成

デフォルトで用意されていたラベルを削除します。

前回データを新しく作成したので、「Title」用にテキストフィールドを。
「Date」用にラベルをドラック&ドロップで貼り付けます。

テキストフィールドとラベル上でControlを押しながらボタン上でマウスクリックをします。

矢印をヘッダファイルに向けて引っ張り、OutletのProperty宣言を行います。

スクリーンショット 2013-08-20 10.57.37(2)

名前と型を指定して「Connect」を選択して完了です。すると、コードが追記されます。

スクリーンショット 2013-08-20 10.57.45(2)

-DetailViewController.h-

#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController
@property (strong, nonatomic) id detailItem;
@property (weak, nonatomic) IBOutlet UITextField *TitleTextField;
@property (weak, nonatomic) IBOutlet UILabel *DateLabel;
@end

-DetailViewController.m-

- (void)configureView
{
    if (self.detailItem) {
        self.TitleTextField.text = [[self.detailItem valueForKey:@"title"] description];
        self.DateLabel.text = [[self.detailItem valueForKey:@"date"] description];
    }
}

一度、シュミレーターで確認してみましょう!

iOSシミュレータのスクリーンショット 2013.08.19 21.05.34

詳細画面から編集後のデータを保存

詳細画面上でタイトルを違う文字に修正した後、保存するプログラムに修正してみましょう。以下のように変えてみて下さい。

-DetailViewController.h –

#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController
@property (strong, nonatomic) id detailItem;
@property (weak, nonatomic) IBOutlet UITextField *TitleTextField;
@property (weak, nonatomic) IBOutlet UILabel *DateLabel;
- (IBAction)saveTitle:(id)sender;   //データを上書きする
@end

-DetailViewController.m-

- (IBAction)saveTitle:(id)sender
{
[self.detailItem setValue:self.TitleTextField.text forKey:@"title"];
[self.navigationController popViewControllerAnimated:YES];
}
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *doneBtn;
doneBtn = [[UIBarButtonItem alloc]
initWithTitle:@"完了"  // ボタンタイトル名を指定
style:UIBarButtonItemStyleDone
target:self</p>
action:@selector(saveTitle:)];
self.navigationItem.rightBarButtonItem = doneBtn;
[self configureView];
}

iOSシミュレータのスクリーンショット 2013.08.19 21.42.10
詳細画面の右上に「完了」ボタンが表示されています。

違うタイトルを入力してみましょう。

iOSシミュレータのスクリーンショット 2013.08.19 21.45.14
編集が終わりましたので「完了」ボタンをクリック!

iOSシミュレータのスクリーンショット 2013.08.19 21.45.21

メイン画面に自動的に戻り、修正したタイトルがしっかり反映されていますね!

今日はこれでおしまいです。

コメントをどうぞ

メールアドレスは公開されません。* が付いている欄は必須項目です。


お気軽にお問い合わせください。

日本VTR実験室では、お仕事のご依頼、ブログ・コラムのご感想などを受け付けております。
アプリ開発・コンテンツ制作でお困りでしたら、お気軽にご相談ください。
ご連絡お待ちしております。

お問い合わせはこちらから

03-3541-1230

info@nvtrlab.jp

電話受付対応時間:平日AM9:30〜PM6:00