2012-07-20 18 views
0

我有這段代碼,我保存了第二次總計並將其加載到結果視圖控制器中。在我的結果視圖控制器,我把這個代碼,我如何從NSNumber中得到一個整數

- (void) counting 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSNumber *loadSecond = [defaults objectForKey:@"saveSecond"]; 
    NSLog(@"last save is %@", loadSecond); // in here, log is displaying 30 seconds 
    scratch = fmod(secondCount,3600); 
    hour = secondCount/3600; 
    minute = scratch/60; 
    second = fmod(scratch,60); 
    labelRecord.text = [NSString stringWithFormat:@"%d:%d:%d", hour , minute, second]; 
} 

從以上,的NSLog顯示的是我最後一次保存30秒計數,這是正確的,但我要如何改變這種30秒secondCount?因爲我想在我的labelRecord中使用它。

回答

3

改變這一行

NSNumber *loadSecond = [defaults objectForKey:@"saveSecond"]; 

int loadSecond = [[defaults objectForKey:@"saveSecond"] intValue]; 

這假定該鍵saveSecond的對象是NSNumber

+0

先生,我只想說,謝謝你的快速回答。 – SyntaxError 2012-07-20 07:40:55

+2

@SyntaxError那麼你應該也接受這個答案.. – ikuramedia 2012-07-20 08:26:53

+0

是的,它確實有效。謝謝。 – SyntaxError 2012-07-20 08:32:13

1

就讓我們來看看在the docuemntation,則表明有是一個NSUserDefaults方法返回一個整數:

NSInteger loadSecond = [defaults integerForKey:@"saveSecond"]; 

NSInteger只是一個int。還有NSUInteger這是未簽名的。

相關問題