真剣に入りたい会社だったのでログを残しておく。
受かっても受からなくても、ここが人生の転機になりそうな予感あり。
2011年2月20日日曜日
[request setReturnsObjectsAsFaults:NO]; を指定したら <fault>が消えた件
CoreData使っててログを出力したら <fault>って出て困った。
詳細はわかってないし、詳細も書かないですけど、出なくなったのでメモ残しとく。
executeFetchRequest:error: で取ってきた結果を NSLogで見てみると、dataの中身が<fault>になってる。実際は登録してあるtimeStampが入ってくるはずなのに。
調べてみると、
を入れればいいと。入れてみた。データ取れてるの確認できた。
詳細はわかってないし、詳細も書かないですけど、出なくなったのでメモ残しとく。
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSMutableArray *mutableFetchResults = [[[context executeFetchRequest:request error:&error] mutableCopy] autorelease];
executeFetchRequest:error: で取ってきた結果を NSLogで見てみると、dataの中身が<fault>になってる。実際は登録してあるtimeStampが入ってくるはずなのに。
"<NSManagedObject: 0x612da10> (entity: Event; id: 0x612ccc0 <x-coredata://61949995-D9C8-40AE-A339-D6C9FB160179/Event/p1> ; data: <fault>)"
調べてみると、
[request setReturnsObjectsAsFaults:NO];
を入れればいいと。入れてみた。データ取れてるの確認できた。
"<NSManagedObject: 0x6132890> (entity: Event; id: 0x6131ae0 <x-coredata://61949995-D9C8-40AE-A339-D6C9FB160179/Event/p1> ; data: {\n timeStamp = \"2011-02-19 12:54:27 +0000\";\n})"
2011年2月11日金曜日
sizeofは型のサイズを返す
だから、ポインター変数を指定した場合、ポインターの指している先に確保されているメモリサイズを返すのではなく、ポインターのサイズ(32bitCPUならたぶん4)が返る。
size_t sz = sizeof("abcdefghij"); // \nが含まれて 11
const char *p = "abcdefghij";
size_t sz = sizeof(p); // 型のサイズ 4
// 文字列の長さもとめるならstrlen
strlen("abcdefghij") // 10
strlen(p) // 10
座標からtableViewのindexPathってわかる?
わかる。
ついでに、スクロールしたときのドラッグ感知やスクロール停止時の感知のデリゲートメソッド
// 表示しているtableVIewの現状のオフセットを取得する。
// ・tableVIewのオフセットはスクロールさせると値が変わるよ。
CGPoint offset = self.myTableView.contentOffset;
// オフセットの位置からy軸に120ポイント下に座標を指定してみよう。
// ・この場合だと、見た目上(画面上)の(10, 120)の位置を常にCGPointで取得してるってこと。
CGPoint p = CGPointMake(10.0, 120.0 + offset.y);
// で、オフセット分を調整した座標(p)からindexPathが取得できるようになると。
NSIndexPath *indexPath = [self.myTableView indexPathForRowAtPoint:p];
NSLogPoint(offset);
NSLog(@"%d", indexPath.row);
[self setDetailView:indexPath];
ついでに、スクロールしたときのドラッグ感知やスクロール停止時の感知のデリゲートメソッド
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
[self hogel];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (!decelerate) {
[self hoge];
}
}
2011年1月17日月曜日
Mac OSX10.6とHDDと復元と
MacBook(白)(late2006)のHDD換装作業。
確か今回で3度目の交換になる。
80GB > 160GB > 320GB > 750GB
現在、2.5インチで1TBのHDDも出てるけど厚さが合わないので使えない。
9.5mm厚のもので最大容量は750GB、これに換装する。
換装から復元までの今回の手順
1.320GBの内蔵HDDを750GBの新HDDに交換する
2.320GBのを外付けHDDケースに入れる
3.DVDからディスクユーティリティを起動する
4.750GBのにパーティションを作成する
5.パーティションを消去(初期化)する
6.2.の外付けHDDを接続する
7.復元タブを開いて、「復元先を消去」を外す。
8.ソースと復元先を、外付けHDDと内蔵HDDをそれぞれ選択する。
9.復元〜ん。
10.寝て起きたら終わってるはず。
やりかたは色々ある。
80GB > 160GB へ換装したときは rsync を使って復元した。
160GB > 320GB へ換装したときも rsync を使って復元した。
320GB > 750GB へ今回換装するとき、最初はタイムマシンから復元する予定だった。
でも失敗したので今回やった方法で復元した。
後からもう少し調べたところ、タイムマシンからの復元は一度クリーンインストールした後に復元作業にすすむらしい。
みんな好き好きな方法をでやってみればいい。
確か今回で3度目の交換になる。
80GB > 160GB > 320GB > 750GB
現在、2.5インチで1TBのHDDも出てるけど厚さが合わないので使えない。
9.5mm厚のもので最大容量は750GB、これに換装する。
換装から復元までの今回の手順
1.320GBの内蔵HDDを750GBの新HDDに交換する
2.320GBのを外付けHDDケースに入れる
3.DVDからディスクユーティリティを起動する
4.750GBのにパーティションを作成する
5.パーティションを消去(初期化)する
6.2.の外付けHDDを接続する
7.復元タブを開いて、「復元先を消去」を外す。
8.ソースと復元先を、外付けHDDと内蔵HDDをそれぞれ選択する。
9.復元〜ん。
10.寝て起きたら終わってるはず。
やりかたは色々ある。
80GB > 160GB へ換装したときは rsync を使って復元した。
160GB > 320GB へ換装したときも rsync を使って復元した。
320GB > 750GB へ今回換装するとき、最初はタイムマシンから復元する予定だった。
でも失敗したので今回やった方法で復元した。
後からもう少し調べたところ、タイムマシンからの復元は一度クリーンインストールした後に復元作業にすすむらしい。
みんな好き好きな方法をでやってみればいい。
2011年1月4日火曜日
YYYY じゃなくて yyyy
バグが出るとすれば元日あたりに出るだろうなぁと思ったら出た。
Moneyha ってiPhoneアプリで出た。不具合出た。
レビューは優しさに満ち溢れていたのでとても嬉しかった。
(バグありなのに星4と3を付けてレビューしていただけた。)
Objective-C でのはなし。 Xcode 3.2.5 and iOS SDK 4.2.1 で試してる。
単純な話で、YYYY が間違いだった。 yyyy が正しい。
これだけだとなんなので、調べる過程で出てきた NSDate のポイントをいくつか。
そんな感じで。
YYYY と yyyy の違いはこちらの方のブログに書かれてました。ありがとう。
『NSDateFormatterのYYYY利用時の注意点』
http://d.hatena.ne.jp/mmasashi/20101111/1289489570
Moneyha ってiPhoneアプリで出た。不具合出た。
レビューは優しさに満ち溢れていたのでとても嬉しかった。
(バグありなのに星4と3を付けてレビューしていただけた。)
Objective-C でのはなし。 Xcode 3.2.5 and iOS SDK 4.2.1 で試してる。
単純な話で、YYYY が間違いだった。 yyyy が正しい。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"]; // ここを @"YYYY" ってしてた。
これだけだとなんなので、調べる過程で出てきた NSDate のポイントをいくつか。
// とりあえずタイムゾーンを確かめておこうよ
NSLog(@"%@", [NSTimeZone defaultTimeZone]); // Asia/Tokyo (GMT+09:00) offset 32400
// NSLogはタイムゾーン関係ないから注意。
NSLog(@"%@", [NSDate date]);
// もうちょいわかり易く。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *d = [formatter dateFromString:@"2011-01-01 00:00:00"]; // d は日本時間だよ
NSLog(@"%@", [formatter stringFromDate:d]); // 当然 2011-01-01 00:00:00
NSLog(@"%@", d); // こっちは? 2010-12-31 15:00:00 +0000 が正解。タイムゾーンは日本じゃなくてグリニッジ標準時。
そんな感じで。
YYYY と yyyy の違いはこちらの方のブログに書かれてました。ありがとう。
『NSDateFormatterのYYYY利用時の注意点』
http://d.hatena.ne.jp/mmasashi/20101111/1289489570
登録:
投稿 (Atom)