これを達成する方法はたくさんあります。以下は最も実用的なものです。
NSString *numStr = [NSString stringWithFormat:@"%llu", [myNum unsignedLongLongValue]];
// .. code and time in between when numStr was created
// .. and now needs to be converted back to a long long.
// .. Therefore, numStr used below does not imply the same numStr above.
unsigned long long ullvalue = strtoull([numStr UTF8String], NULL, 0);
numStrこれにより、数字のみが含まれ、「有効な」unsigned long long 値が含まれているなど、いくつかの合理的な仮定が行われます。このアプローチの欠点は、UTF8String本質的に に相当するもの[[numStr dataUsingEncoding:NSUTF8StringEncoding] bytes]、つまり、呼び出しごとに 32 バイトの自動解放メモリに沿ったものを作成することです。ほとんどの場合、これはまったく問題ありません。
unsignedLongLongValueそのようなものを追加する方法の例についてNSStringは、非常に高速であり、副作用として自動解放されたメモリを使用しないため、この SO の質問に対する私の (長い) 回答の最後をご覧ください。具体的には の実装例rklIntValueですunsignedLongLongValue。
詳細についてstrtoullは、man ページを参照してください。