私はNSNumber
を持っています。基本的な計算をしようとすると失敗します。 目的C計算が失敗する
注
NSTimeInterval contentExpirationInSecs = [contentExpirationInDays intValue] * 24 * 60 * 60;
::私はそれが私の狂った数字を与える秒に変換するための基本的な乗算をしようとすると
NSNumber *contentExpirationInDays = [NSNumber numberWithInt: 1];
はいくつかの回答で説明したように次のビットが今無関係です:
コンソールで次のコマンドを実行すると、次の結果が得られます。
P対POに関する情報については、3210(lldb) po [contentExpirationInDays intValue]
1
(lldb) po [contentExpirationInDays intValue] * 2
-148319360
UPDATE
感謝。
NSNumber *contentExpirationInDays = [[NSNumber numberWithInt:1];
NSTimeInterval contentExpiration = ([contentExpirationInDays intValue] * 24 * 60 * 60);
myObj.expirationDate = [[NSDate date] dateByAddingTimeInterval:contentExpiration];
obj.expirationDate
通常、過去に未来または何年に何年で終わるの代わりに:私は詳細...
だから、ここで私が経験しています本当の問題であることを知りませんでした今日より1日早い。
'po'は、「印刷対象」です。整数やその他のスカラ値を出力するには 'p'を使います。 –
あなたはどのバージョンのXcodeを使用していますか?私のXcode 8で完璧に動作します。 –
これは、最初の行で代入( '=')の後に余分な '['を削除すると私にとってもうまくいきます。しかし、日付の計算は少し素朴です。 –