There's an echo in my head

日々のメモ。

64bitの符号なし整数型uint64_tをObjective-Cで扱う

Tweetのidが64ビットになってたので。

NSNumberから取り出すにはunsignedLongLongValueを使う:

uint64_t tweetId = [tweetIdNumber unsignedLongLongValue];

逆にNSNumberに変換するにはnumberWithUnsignedLongLong:もしくはinitWithUnsignedLongLong:を使う:

NSNumber *tweetIdNumber = [NSNumber numberWithUnsignedLongLong:tweetId];
NSNumber *tweetIdNumber = [[NSNumber alloc] initWithUnsignedLongLong:tweetId]];

NSStringやNSLogに使うフォーマット指定子には%lluを使う:

NSString *idStr = [NSString stringWithFormat:@"%llu", tweetId];

CoreDataではInteger 64をtypeに指定する。

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。