FMDBで簡単写真アルバムを作ろう 最終章 ~簡単写真アルバムの完成~

前回:FMDBで簡単写真アルバムを作ろう Part.9 ~【iPhone】TableViewのセルを削除、commitEditingStyle ~

簡単写真アルバムのソースコードGitHubからどうぞ
ー>https://github.com/ics-hiro/SelfPhotoLibrary


さて、今回がいよいよ最終章です☆
最後までお付き合いありがとうございます!


最後の仕上げは、ViewControllerから画面遷移をして、PhotoViewControllerを表示するところです。
PhotoViewControllerでは、ViewControllerで選択したタイトル、画像が表示されます。

【@property】セッターで値の受け渡し

ViewController.mのdidSelectRowAtIndexPathメソッドのなかで、bvc.row_num = i;となっているところですね。

ViewController.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // セルの選択を解除する
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    
    for (int i = 0; i < titleArry.count; i++) {
        if (indexPath.row == i) {
            PhotoViewController *bvc = [[PhotoViewController alloc] initWithNibName:@"PhotoViewController" bundle:nil];
            bvc.row_num = i; // どの行を選んだのか、次のViewControllerに値を受け渡ししている。
            [self.navigationController pushViewController:bvc animated:YES];
        }
    }    
}

これはPhotoViewController.hでアクセサが通されていることが前提です。

PhotoViewController.h

#import <UIKit/UIKit.h>

@interface PhotoViewController : UIViewController 
@property (nonatomic,assign) NSInteger row_num; //<-これ
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UIImageView *photoImage;
@end

@synthesizeで合成をお忘れなく。



そして受け渡されたこのiを、PhotoViewControllerで生かすわけです。

PhotoViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    titleArry = [[NSMutableArray alloc] init ];
    contentsArry = [[NSMutableArray alloc] init ];
    
    [DataModels selectTitle:titleArry]; //titleArryにtitleカラムのデータを格納する
    [DataModels selectContents:contentsArry]; //contentsArryにcontentsカラムのデータを格納する
    
    
    // 前のTableViewで選択した行に応じて表示させる(セットされたrow_numをここで使う)
    titleLabel.text = [titleArry objectAtIndex:row_num];
    photoImage.image = [[UIImage alloc] initWithData:[contentsArry objectAtIndex:row_num]];
}

DataModelsについての解説はPart.5で解説しました。


row_numに関して、具体的な数値を当てはめて図解してみました。


titleArryとcontentsArryに関して、row_numで配列の番目を指定します。

titleArryはUILabel、contentsArryはUIImageViewに表示ですね。




簡単写真アルバムアプリ記事一覧
FMDBで簡単写真アルバムを作ろう Part.1 ~メモが書ける写真アルバムをつくる~
FMDBで簡単写真アルバムを作ろう Part.2 ~Xcode4.3,SingleViewApplication,FMDB準備~
FMDBで簡単写真アルバムを作ろう Part.3 ~必要なファイルを追加して整理しよう~
FMDBで簡単写真アルバムを作ろう Part.4 ~NavigationBarと画面遷移~
FMDBで簡単写真アルバムを作ろう Part.5 ~【iPhone】SQLiteのデータを出し入れするためのクラスをつくる~
FMDBで簡単写真アルバムを作ろう Part.6 ~【iPhone】UITextField,UIActionSheet,UIImagePickerControllerとメモ、写真の保存~
FMDBで簡単写真アルバムを作ろう Part.7 ~【iPhone】SQLiteのデータを取り出してTableViewに表示~
FMDBで簡単写真アルバムを作ろう Part.8 ~【iPhone】TableViewの画面遷移、異なるView間での値の受け渡し~
FMDBで簡単写真アルバムを作ろう Part.9 ~【iPhone】TableViewのセルを削除、commitEditingStyle ~
FMDBで簡単写真アルバムを作ろう 最終章 ~簡単写真アルバムの完成~


======================
当ブログ管理人のツイッターこちら
◎フォローしてくださると泣いて喜びます!ツイッター上で当ブログの質問などにもできるだけお答えしますし、役に立つiPhoneアプリ開発情報もつぶやきます。個人的なご依頼(たとえば、プログラミングの家庭教師、Skypeレッスンをしてくれないか、iPhoneアプリ開発の勉強会ってやってるの、とかですね)でもかまいません。
スカイプレッスンについて
開発をしているとその都度ぶつかる問題があると思いますが、検索で調べてもなかなかわからない、あるいは調べても非常に時間がかかる場合があると思います。開発者のみなさんもお忙しいと思いますので、私のレッスンを受けながら開発を進めていただけると、大幅にお時間を短縮できます。加えて、iPhoneアプリ開発の基礎、応用が身につき、今後の開発もスムーズに進められます

お問い合わせはツイッター、またはhiyoshimarukoアットマークgmail.comまでお願いします。(アットマークを@にしてください)お待ちしております!