• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2012年07月16日

iPhoneアプリ開発奮闘記〜第3章

前回の続きです。

計算というボタンを押すと燃費計算をさせたいのでこのアクションを作成します。
つまり走行距離/給油量=燃費という計算をさせます。

これはMainStoryboard.storyboardから作成可能です。
右上のEditorというところのアイコンの真ん中にAssistant Editorといのが
ありますのでこれを押してソースファイルを開きます。(FuelViewConrtroller.h)

ViewControllerの計算ボタンをcontrolボタンを押しながらマウスで
@interface ~@endの間にドラッグします。

すると画面のようなポップアップメニューが現れます。
connection Action
Object Fuel View Controller
Name calc:
Type id
Event Touch Up Inside
Arguments Sender
としてconnectボタンを押します。

#import

@interface FuelViewController : UIViewController
- (IBAction)calc:(id)sender;

@end

となっているはずです。

なおFuelViewController.mには
- (IBAction)calc:(id)sender {
}
@end

が追加されています。

以上で計算ボタンとViewControllerを接続完了です。

次に走行距離と給油量のテキストフィールドと燃費というラベル間の関係を接続します。
他のKm、L、Km/Lは単なるラベルなので特に接続は必要ありません。

ボタンの接続と同様にまずは距離を入力するテキストフィールドをcontrolボタンを押しながら
@interface ~@endの間にドラッグします。

ポップアップメニューが現れますので

connection Outlet
Object Fuel View Controller
Name kyori
Type UITextField
Storage Weak
としてconnectボタンを押します。

同様に給油量を入力するテキストフィールドをドラッグします。

#import

@interface FuelViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *kyori;
@property (weak, nonatomic) IBOutlet UITextField *gas;
- (IBAction)calc:(id)sender;

@end

こんな感じになっているはずです。
なおFuelViewController.mには
@implementation FuelViewController
@synthesize kyori;
@synthesize gas;
が追加されています。

燃費というラベルの接続に取りかかります。
controlボタンを押しながら
@interface ~@endの間にドラッグします。
ポップアップメニューが現れますので

connection Outlet
Object Fuel View Controller
Name nenpi
Type UILabel
Storage Weak
としてconnectボタンを押します。

#import

@interface FuelViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *kyori;
@property (weak, nonatomic) IBOutlet UITextField *gas;
@property (weak, nonatomic) IBOutlet UILabel *nenpi;
- (IBAction)calc:(id)sender;

@end

こんな感じになっているはずです。

なおFuelViewController.mには
@implementation FuelViewController
@synthesize kyori;
@synthesize gas;
@synthesize nenpi;

となっているはずです。

次に行う事は走行距離と給油量のテキストフィールドをデリゲート接続を作成です。
またまた聞き慣れない「デリゲート」という言葉が出てきました。
後日この辺りはまとめようと思いますがとりあえず今の動作で言えば走行距離と給油量を
読み込んで燃費を計算させるためのものです。

言葉では難しいのですがXcodeではマウスのドラッグで作成できます。

FuelViewControllerSceneというのがリスト形式でありますのでここのTextFieldを
Viewの下の方のバーにある右側の黄色の円の中へcontrolを押しながらドラッグします。
kyoriとkyuuyuどちらとも行います。
なお黄色い円はViewControllerオブジェクトを表します。

ポップアップメニューがそれぞれ出てきますのでObjectsのdelegateにチェックを入れます。

さて次はいよいよ燃費計算結果を表示するプロパティを追加します。
ここからがちょっとソースコードを書かなければならないので難易度がやや上がります。
しっかりとマスターしましょう。

そして随分前に設定した燃費というラベルにcalc:というアクションを実装したかと思います。
このcalc:というアクションは走行距離と給油量をTextFieldから文字列を取得して
燃費の計算(燃費=走行距離/給油量)の結果を燃費というラベルに表示させるものです。
いよいよ最終仕上げです!

FuelViewController.mの中に
- (IBAction)calc:(id)sender {
}
という所があります。ここへ計算する式を記述します。

- (IBAction)calc:(id)sender {
double kyoridata=[[kyori text] intValue];//走行距離を取得
double gasdata = [[kyuuyu text] intValue];//給油量を取得
double nenpiD=kyoridata/gasdata;//燃費を計算

[nenpi setText:[NSString stringWithFormat:@"%1.2f", nenpiD]];//計算結果を燃費ラベルに表示する。

}

後はシュミレーターを走らせてみましょう。


やったー!完成です。

ちょっとソースコードを手修正した箇所があるので
FuelViewController.h
FuelViewController.m
のコードを下記へ記述します。

FuelViewController.h
#import

@interface FuelViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *kyuuyu;
@property (weak, nonatomic) IBOutlet UILabel *nenpi;
@property (weak, nonatomic) IBOutlet UITextField *kyori;
- (IBAction)calc:(id)sender;
@end

FuelViewController.m
#import "FuelViewController.h"

@interface FuelViewController ()

@end

@implementation FuelViewController
@synthesize kyuuyu;
@synthesize nenpi;
@synthesize kyori;

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
[self setKyori:nil];
[self setKyuuyu:nil];
[self setNenpi:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

- (IBAction)calc:(id)sender {
double kyoridata=[[kyori text] intValue];
double gasdata = [[kyuuyu text] intValue];
double nenpiD=kyoridata/gasdata;

[nenpi setText:[NSString stringWithFormat:@"%1.2f", nenpiD]];
}
@end

これでiPhoneアプリ開発奮闘記の第3章の幕を閉じます。

次の奮闘記はこのコードを元にちょっと難易度を上げたアプリを開発してAppstoreに申請したら書きたいと思いますので気長に待ってください(>_<) ○| ̄|_
ブログ一覧 | MacBookAir | パソコン/インターネット
Posted at 2012/07/16 15:03:37

イイね!0件



今、あなたにおすすめ

ブログ人気記事

バイクの日
灰色さび猫さん

以前から起きていた謎の漏電現象を解 ...
エイジングさん

第千百九十五巻 駿河路信濃路漫遊紀 ...
バツマル下関さん

安定の担々麺!
のうえさんさん

芸術とはなんぞや?
THE TALLさん

脂摂取タイム‼️
チャ太郎☆さん

この記事へのコメント

2012年7月16日 18:44
すごい!!
実はXcode、初めて見ました。
開発者ですね。
版権もかかってるし。
コメントへの返答
2012年7月16日 19:24
ありがとうございます(*^^*)
すごく取っ付き難い言語ですが、何とかものにしたいなぁって思っています。
もちろん生活のために、、、
2012年7月20日 22:03
オブジェクティブCはもう慣れましたか?
コメントへの返答
2012年7月20日 22:11
そつですね~C++likeでLISPみたいな感じです。私の頭の中では(^_^;)

プロフィール

「みんカラ:モニターキャンペーン【KENWOODディスプレイオーディオ】 http://cvw.jp/b/109901/48536341/
何シテル?   07/11 09:51
S660納車されました! ドライブが超楽しい車です。 軽なのにこのできはすばらしいの一言です。 特にコーナリングの安定感は抜群です! アドバンネオバはS...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

ブログカテゴリー

リンク・クリップ

デイライト(Power LED)取り付け 
カテゴリ:その他(カテゴリ未設定)
2023/03/02 11:52:16
エコ燃費カップの件 
カテゴリ:その他(カテゴリ未設定)
2022/08/12 17:58:32
日本ライティング Zeus clear PREMIUM GLASS COATING 
カテゴリ:その他(カテゴリ未設定)
2021/01/24 19:45:03

愛車一覧

ホンダ S660 ホンダ S660
2015.3.28契約 2015.4.2オーダー 2015.8.11納車(^o^)/ ...
ホンダ N-ONE ホンダ N-ONE
ついに乗り換えました‼️ 4から5速へ入れる時に違和感感じますが直ぐになれるでしょう。
ホンダ N-WGN ホンダ N-WGN
エリシオンとワゴンRRがN-WGNに統合
スズキ ワゴンR スズキ ワゴンR
親父の車から娘の車に 2020.5.15 AM8:36 娘の車から自分の車に 2021 ...

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
2010年
01月02月03月04月05月06月
07月08月09月10月11月12月
2009年
01月02月03月04月05月06月
07月08月09月10月11月12月
2008年
01月02月03月04月05月06月
07月08月09月10月11月12月
2007年
01月02月03月04月05月06月
07月08月09月10月11月12月
2006年
01月02月03月04月05月06月
07月08月09月10月11月12月
2005年
01月02月03月04月05月06月
07月08月09月10月11月12月
2004年
01月02月03月04月05月06月
07月08月09月10月11月12月
1987年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation