前回に続きiphoneアプリのRSSリーダーのアプリを開発していきます。
前回はRSSを取得してパースすることで、
記事一覧を表示させる事まで書きました。
今回はその取得した一覧をクリックすると開くブログ記事の表示を行なっていきます。
今回は簡単です。
1:DetailViewControllerの準備
2:DetailViewControllerへのデータの受け渡し
3:タイトルLabelをブログ記事タイトルに書き換え
4:ページ内に埋め込んだWEB ViewにURLを渡して表示
概ねこれだけです。
開発環境
MAC OS X Mavericks ver.10.9
Xcode ver.5.0.2
使用デバイス iphone5s iOS7.0.4
DetailViewControllerの準備
Main.storyboardにWeb Viewを配置します
Web ViewをDetailVIewController.hに紐付けます。
[javascript]
#import <UIKit/UIKit.h>
//News.hをインポートしておきます。
#import “News.h”
@interface DetailViewController : UIViewController{
//Web Viewを紐付けます
IBOutlet UIWebView *webView;
}
@property (strong, nonatomic) id detailItem;
@property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel;
@end
[/javascript]
DetailViewControllerへのデータの受け渡し
先にMasterViewController.mのほうで渡すデータをゴニョゴニョします。
MasterViewController.m
[javascript]
– (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@”showDetail”]) {
//クリックしたブログの行(ブロック)の番号を取得
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
//行番号からブログの記事のタイトルやURLを取得
News *f = [elementList objectAtIndex:[indexPath row]];
//セグエするときに ブログタイトルやURLを渡す
[[segue destinationViewController] setDetailItem:f];
}
}
[/javascript]
DetailViewController.m
MasterViewController.mからデータ受け取ります。
ついでに
- タイトルLabelをブログ記事タイトルに書き換え
- ページ内に埋め込んだWEB ViewにURLを渡して表示
こちらもまとめてやってしまいます。
[javascript]
– (void)configureView
{
// Update the user interface for the detail item.
if (self.detailItem) {
// ブログタイトルやURLの情報を受け取ります
News *f = self.detailItem;
//ブログタイトルをアプリ上部のタイトルLabelに代入
self.title = NSLocalizedString(f.title, f.title);
//取得したURLを元にURLリクエスト
NSURLRequest* req = [NSURLRequest requestWithURL:[NSURL URLWithString:f.url]];
//リクエストしたページをWeb Viewに表示させる
[webView loadRequest:req];
}
}
[/javascript]
今回はこれだけでアプリ完成
あっけなく終わってしまいましたが
今回のブログを表示する機能は必要になる項目が少なく比較的単純なものでした。
前回のブログで必要となるデータやそれを取得するために必要な事を全て終わらせていたので、データを取得して表示するだけでイイんです!!
それでは今回は軽めでおひらきしま〜す。