2009-09-16
こうかな
||
UIImage* smallImage = [UIImage
imageWithCGImage:CGImageCreateWithImageInRect(
originalImage.CGImage, crop_rect)];
||
でもcrop_rectが300x301で、この切り取り枠のサイズの変更方法がわからなかった。そして別の解決方法が思いついたのでコレは使わないことにした。
*1253080335*ObjCEXC_BAD_ACCESS 実機で実行するとEXC_BAD_ACCESSで落ちて、シミュレータでは問題なく、実機でステップ実行して原因を絞り込もうとすると再現しないというなんとも典型的なハイゼンバグ。
初iPhoneアプリなのに「時間のかかる処理にプログレスバーが出ないなんて許せない」なんて思ってしまったがためにNSThreadとかNSAutoreleasePoolとか出てきて涙目。
なんと。英語で読んで「retainする必要がある」って書いてあったのを普通の動詞だと思って「保持する必要がある」だと思ったが、retainってメッセージがあるのか。retainはPy_IncRefのようなもの。覚えた。
hr
さて、retainが必要だということを学習したのでソースを改めて見てみる。まず、ボタンを押したイベントのハンドラの中で受け取った値を別のスレッドに渡しているが、retainしていない。この引数がautoreleaseされているなら別スレッドに渡したあと解放されてしまう。retainが必要。
*1253089521*いやんなってきた
息抜きに別のことをしよう
息抜きに別のことをして戻ってくる頃には全部忘れていたりして。
*1253116161*秋
運動不足の解消のために隣の駅から歩いたのだが、Tシャツでは肌寒いな。もう秋なんだな。
そして家に帰ってくるなり運動してほてった体では暑くてたまらない。むう。