諸事情により、このブログは、しばらくの間、更新しません。m(_ _)m
-
最近の投稿
最近のコメント
アーカイブ
カテゴリー
メタ情報
昨日参考にしたソースがやっとシミュレータが動きました。
前回は、7桁でオーバーフローしてたのが、大丈夫じゃん。割り算も
1÷3=0.333333が0.33333333333333位まで(‘ε’)
何故同じdoubleなのに違いが?解らん
でぇ!!色々入力しまくりました。その結果以下の不具合を発見!!
1、数字が何桁でも入力出来る。
2、最初0が何桁でも入力出来る。
3、最初演算子を押すとそのうち表示が0からnanに変わる。
4、if分多いのにコメントなし(個人的意見です)
5、表示をTextFieldで作成しているから、タップすると、キーボードが表れる。
と!!その前に、初めての電卓を作ろうとかって、作り込みが優先で、
いざ、出来たら・・・実践向きではないってことか??子供のこずかい帳程度なら
問題なしですけど・・・
無料で、参考にしていますからこれ以上は、何も言いませんが・・・
戻って、1~4までは、無事解決出来た。でも、5が・・・
ググるとこすればいいと見つけ実装!!
- (BOOL)textFieldShouldBeginEditingUITextField *)textField { return NO; }
変わらず??明日もう一度ググるか・・・
トンネルか脱出出来なから、今日は、NSStringを使ってないソースを
ググる。ほとんどが、テンプレートをView-Basedで作成している。
誰か、違うテンプレートで作ってる人いないかな・・・
見つけました。Window-Basedで作成している人が\(^O^)/
しかも、constをつかってる。こいつは、俺の好きな風にコーデングしてる。
ただ者ではないと、直観!!
しかし、コピペ出来ない、地味にコーデングする。
いざ実食!!もとい、いざ、ビルド!!
見事、クラッシュ??コンパイルエラーになった方がいいんですけど・・・
でも、ソース解析しましたが、今までと違う作り方に、驚愕です。
こんな作り方もあるのかと・・・ただ、ただ、驚かされました。
俺が作るとしたら、見本になります。iphoneアプリは、
短期では、無理と実感しました。求めている次元が違い過ぎます。
俺的には、じっくり覚えたいです。C言語がほとんど、使えると
解っただけで、今日は良しとしようです。これが、ポジテブです。
ポジテブになるから、明日があるです。でも、
ネガテブだと、明日会社に行きたくないです。
俺は、明日会社に行って、この、バグと戦うです。
今日もぐぐった。誰か俺と同じ仲間がいないかと・・・
仲間募集中です。^_^;
試しに、int型にして見た。10桁でも、大丈夫でした。
良く考えても解らん。
label1.text = [NSString stringWithFormat:@"%g",crtValue]; 数値から文字列にキャストするです。
crtValue(double型)は、正常なのだから・・・でも代入すると、オーバーフロー?はぁ!!そういえばXcode4ってバグがあるとどっか聞いたような・・・Xcode3.2.6で作って見る。うわ!!作り方全然違う!!Xcode4.1全然簡素化されてると改めて実感する。でぇ出来ました。直ぐ実行するも、結果は同じ...orzやっぱNSXXXはバグか??NSLogも同じ結果です。トンネルの出口は何処ですか??時間が足りないです。明日こそ、トンネル脱出したい!!
昨日ピラメイたは、無です。^_^;
今日張り切ってロジック組みましたが・・・
矛盾が発覚しました。入力が1つしかないのに・・
それをどうやって入力と編集に分ける??
結論から言うと、入力で、上がて来たカンマを削除して
するしかないことに気付きカンマ編集を中断しました。
先に進めないです。
確かVBでは、カンマを削除して削除した所を詰めて編集する
事が出来る命令あったような記憶があるのだが・・・
次のバグの解決に挑む!!
バグ内容:7桁以上だとオーバーフローする。
label1.text = [NSString stringWithFormat:@"%g",crtValue]; 数値から文字列にキャストするです。
%gがネックです。crtValue(double型)の中身は正常です。10桁でも正しい値が入っている。それは、ブレークポイントで確認しました。それが、この部分でlabel1.text = [NSString stringWithFormat:@"%g",crtValue]; 数値から文字列にキャストするです。すると桁数が、6桁までは正常です。何故%gにするかと言うと、小数点を表示するためです。小数点は、フロートかダブルでしか表示出来ません!!イントでは、無理です。小数点は表示出来ません。参考になるのには、小数点考慮されてません!!ネタばらし。今電卓のiphoneアプリを作ってます。%gは少数点も加味しています。電卓に小数点は、必須でしょう。明日も、ググりが、確定です。
入力されたボタンのカンマ編集って結構難しいことが解る。
こうやればいいっての解るけど・・・
NSNumber *number = [[NSNumber alloc] initWithDouble:123456.781];//実験 NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; [formatter setPositiveFormat:@"#,##0.######"];
NSLogで確認した。確かに123,456.781のカンマ編集された。でも、残念!
固定長じゃないんです。
入力は可変長だから、何やかんやで、昨日からググりの連続。
さらに、formatterにLLVM GCC 4.2 Warningのおまけも付いた。。orz
もう、ギブ、ギブ、ギブしません!!
帰りぎわに、ようやく、1,234まで編集出来た!!次5を押してみた。
1のみ表示??やっぱ、上のロジックは固定長専用か?
よぉ~く考えたら・・・数字型にカンマ入ったらだめじゃん!!
計算も出来なくなるじゃん・・・0C7じゃん、普通は・・・
でぇ~家に帰って来てから!!ピラメいた(-。-)y-゜゜゜
計算用と編集用2つに分ければできるじゃん!!
ファイト~!! おぉ~!!
因みに、number&formatterのリリースはロジックの下で
やっていますので、ツコミはご遠慮願います。m(_ _)m
メモリリークなんてさせるかよです。^_^;
昨日のバグを修正する。
バグ1:初回だけ演算子押すと表示が0になる。
バグ2:小数点が表示されない。
演算子が押されたら呼ばれるメッソドにブレイクポイント設定し
ビルド 初期設定してないから当然想定外の値が入ってるから
誤作動するし、tagの値にもミスがあるから正しく設定し直して
無事解決した。次は小数点・・・
ブレイクポインタを設定して、内容を見るが・・・
値は正しく設定されているのに、小数点が表示されない??
編集の問題か?ピリオードの編集が問題ありです。
それも、長年の経験で何となく解ったので、
修正する。でも・・・・小数点の桁数が・・・・
小数点第6位までしか、表示されない??
別に問題無か!?後は、カンマ編集と音出しとMax桁数か?
桁数は、ダブルで定義しているから、確か15桁のはずだが・・・
15桁以上入力出来る???これらを土日で何処まで、
解決出来るのだろう・・・どうせ、土日は暇だから・・・
自宅にPC持って帰って来ました。
北あきた生放送を見ているからです。いけず!!です。
先週もこれを見ていて、もう、お寝むの時間とっくに過ぎてる!!
でぇ~2週連続です。明日更新します。m(_ _)m
今日も朝からぐぐる。何で、変更したのが反映されないのか!!
でも、これって、バグなのではと思うのは俺だけか??
みっけです。Xcode3.2.6では、確かにあります。
全てクリーニング出来ます。でも、Xcode4.1では???
今日偶然見つけました。
Product → Clean でぇ~ここで、optionキーを押せば
clean Build Foldeに変わる!!すぐさま実行するも状況変わらず!!ビルドした時に作られるフォルダーも確認した。xcode Preferences Locations(赤いマチ針) Derived Data ここにビルドするとできるパスの右矢をクリークすると飛ぶので、不要なフォルダーも削除する。ビルドし過ぎると修正内容が変更出来ないの解決になっていないが・・とりあえず、作り直すと、ある程度の電卓が出来たです。小数点等まだ問題はありますが・・・とりあえず、電卓は出来たです。演算子も正しいく表示する、でも、小数点に問題ありです。さらに、キー押下時に音を鳴らすのも、追加せねば・・・やること、てんこもりです。
昨日の続きです。TableViewからTableViewで画面遷移した時のどの、セルをタップ
して、画面遷移したのか?遷移先のNavi-Barのタイトルの表示の仕方です。
これは、あくまでも例です。
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"カテゴリ";
strings = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",nil];
}
ここに、Tableを定義します。次に、
// 画面遷移
SubViewController *pro = [[XxxxxxSubViewController alloc] initWithNibName:@"XxxxxxxSubViewController" bundle:nil];
pro.title = [strings objectAtIndex:indexPath.row];
[self.navigationController pushViewController
ro animated:YES];
[pro release];
TextField Return Key Default-->Doneにして下さい。これで、入力すると、完了が、確定に変わります。でも、この時は、完了は、改行状態です。それを、キーボードを非表示にするロジックが以下の通りです。// メッセージ入力終了処理 - (BOOL)textFieldShouldReturnUITextField *)textField { // キーボードを非表示にする [textField resignFirstResponder]; return YES; }
これで。完了したら、キーボードは、消えます。でぇ~今日ある時からビルドしても、何にも変わらん??ロジックは、完璧なのに、変わらん!!??修正したのに、修正内容が反映されない!!これって、前にもあったよね?確か作り直したらうまく行った??ような記憶が・・ググると気になるのが・・・キーワード・・・クリーニング?そゆうことか!!Xcodeはある程度ビルドすると、バッファ枯渇になるのか・・・Xcode3.2.6では説明あるが・・・最新の4.1ではなしか?明日、また、ググります。