我有一個NSNumber
當我嘗試做基本算術失敗。Objective C算術失敗
NSNumber *contentExpirationInDays = [NSNumber numberWithInt: 1];
當我嘗試做一個基本的乘法轉換成秒這讓我瘋狂的數字:
NSTimeInterval contentExpirationInSecs = [contentExpirationInDays intValue] * 24 * 60 * 60;
注:下一位是現在無關緊要的一些答案解釋:
當我在控制檯中運行以下命令時,我得到以下結果:
(lldb) po [contentExpirationInDays intValue]
1
(lldb) po [contentExpirationInDays intValue] * 2
-148319360
UPDATE
感謝關於PO VS P中的信息。我不知道細節...
因此,這裏是我遇到的現實問題:
NSNumber *contentExpirationInDays = [[NSNumber numberWithInt:1];
NSTimeInterval contentExpiration = ([contentExpirationInDays intValue] * 24 * 60 * 60);
myObj.expirationDate = [[NSDate date] dateByAddingTimeInterval:contentExpiration];
obj.expirationDate
通常具有多年在未來或多年過去,而不是結束比今天提前一天。
'po'是 「打印對象」。使用'p'打印整數或其他標量值。 –
您使用的是哪種版本的Xcode?在我的Xcode 8上工作得很好。 –
如果我在第一行中除去了賦值('=')之後的額外'['''',這也適用於我。但是,日期計算有點幼稚。 –