動的に複数のボタンを作っていたら、ボタンを押したとたん落ちてしまう。
そんな状態にハマりました。^^;
CGRect rect = CGRectMake(mapX, mapY, MAP_DESK_YOKO_W, MAP_DESK_YOKO_H); UIButton *button = [[UIButton alloc]initWithFrame: rect]; [button addTarget:self action:@selector(mapButtonTouch) forControlEvents:UIControlEventTouchUpInside]; [button setBackgroundColor:[UIColor redColor]]; button.tag = count;
comikechk[4537:207] *** -[ComikeMapViewController mapButtonTouch]: unrecognized selector sent to instance 0×48609a0
なんだろーなんだろーと検索しても有効な情報が得られない。
ふと、作例を載せているサイトを見ていたら…あっ!!
[button addTarget:self action:@selector(mapButtonTouch:) forControlEvents:UIControlEventTouchUpInside];
@selectorでメソッドを指定する時に最期の「:」を付け忘れただけでした。
うわー、まぬけすぎるw
iPhoneプログラミングメモ。
処理進行中を表すために用いられるくるくる回るアニメーション
UIActivityIndicatorView が用いられますが、解放関係でハマったのでメモ。
[indicator stopAnimating]; [indicator removeFromSuperview]; [indicator release];
アニメーションをストップして、ビューから外して、解放しています。
が、このコードだと
-[UIActivityIndicatorView stopAnimating]: message sent to deallocated instance
なんてエラーになってしまいました。
releaseの後にさらに nilを代入したら問題なく動作するようになりました。
[indicator stopAnimating]; [indicator removeFromSuperview]; [indicator release]; indicator = nil;
おそらく他の部分で UIActivityIndicatorViewインスタンスの有無を
チェックして処理をわけている箇所があるので、そのへんが関係あるのかも。
ないのかも。
if( indidator ){
〜くるくるアニメがある時の処理〜
}
あとはこのへんが多少なりとも関係しているんでしょうか?
はじめてのあいぱっどあぷり。
略して「はじあい」。
そんなワタクシですが無謀にもCoreDataにまで手を出しています。
で、日本語検索が出来なくてハマったのでメモ。
「day」という項目に曜日が格納されており、
それごとにデータを抽出しようとしています。
「dayList」は曜日一覧をまとめたNSArray。
「gNowDay」は現在表示させたい曜日の番号です。
NSPredicate *preDay = [NSPredicate predicateWithFormat:@"day == '%@'", [dayList objectAtIndex:gNowDay]]; [request setPredicate:preDay];
これだとダメでした。
「’%@’」の部分を「’土’」など決め打ちにしたらいけました。
次はうまくいったコード。
NSString *preDayStr = [NSString stringWithFormat:@"day == '%@'", [dayList objectAtIndex:gNowDay]]; NSPredicate *preDay = [NSPredicate predicateWithFormat:preDayStr]; [request setPredicate:preDay];
一度NSStringに格納してからやったら出来ました。
そういうもんなのかー。
そしてこれは複合条件の指定。NSCompoundPredicateを使います。
「土曜の東館」とか指定するわけですね。
NSString *preDayStr = [NSString stringWithFormat:@"day == '%@'", [dayList objectAtIndex:gNowDay]]; NSPredicate *preDay = [NSPredicate predicateWithFormat:preDayStr]; NSPredicate *preArea = [NSPredicate predicateWithFormat: @"areaCode == %d",areaCode]; NSPredicate *allPre = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects: preArea, preDay, nil]]; [request setPredicate:allPre];
もんのすごい単純なことでドハマりました…。
float floatNum = 128 / 255; NSLog(@"%f", floatNum); // 結果は「0.0000〜」
float floatNum = 128.0 / 255.0; NSLog(@"%f", floatNum); // 結果は「0.501960〜」
小数点のついた値でないと切り捨てられちゃうのかーーーー!!!
c言語ってのはそういうもんなんですか?
しかし整数で格納している値を計算して小数点を出したい時は
どうやって「.0」をつければいいんだろう…。
int intNum = 10; float floatNum = intNum; NSLog(@"%f", floatNum/50); // 結果は「0.2000〜」
なるほど、いったん float型に代入すればいいのか。
って、めんどくさいw
iPhoneプログラミングメモ。
htmlなどで使う16進数の色を10新数の数値に変換する方法。
NSString *colorString = @"ff0000"; int r,g,b; sscanf([colorStr UTF8String],"%02X%02X%02X",&r,&g,&b);
NSScanner の scanHexInt を使ってもできるみたいだけど、
こっちのがシンプルなので。
#defineを使う方法なんてのもあるんですね。
#define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0 \ green:((c>>8)&0xFF)/255.0 \ blue:(c&0xFF)/255.0 \ alpha:1.0]; UIColor *color = HEXCOLOR(0xff00ff);
すっかりご無沙汰しておりました。^^;
iPad購入の話とか、WiMAXの話とか、iPadアプリ作り始めたとか
いろいろ書きたいことはあるのですが。
そんなわけで6/20に東京ビックサイトで開催される「とら祭り2010」に
参加しております。
え-20A 「CLIC CLAC」
新作は用意してないのですが「田舎でシよう」シリーズを持っていく予定です。
夏コミには「世界めいわく劇場」の新作を用意しますので楽しみにしててください!
サークルブログに書きましたがこちらでも一応。