0

私は単純化したい次の構造を持っています。NSNumber vs. NSDecimalNumber コンパイラの警告を取り除くために、NSString (?) を使用する必要がありました。

NSDecimalNumber *ticksSinceSeventies = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%d",[self timeIntervalSince1970]]];

ご協力いただきありがとうございます!

4

2 に答える 2

2

NSTimeIntervaldouble である sのみを使用している場合は、基数 10 の算術演算NSDecimalNumberは実際には必要ありません。代わりに使用できますNSNumber

したがって、コンストラクターは次のようになります。

NSNumber *ticksSinceSeventies = [NSNumber numberWithDouble:[self timeIntervalSince1970]];

(self がNSDateサブクラスであるか、これがカテゴリ メソッド内にあると仮定します)。

于 2011-09-09T16:24:46.213 に答える
0

1 つの方法を次に示します。

[NSDecimalNumber decimalNumberWithString:[[self timeIntervalSince1970] stringValue]];

もっと簡単にする方法があるかもしれませんが、私は知りません。

于 2011-09-09T09:31:40.590 に答える