簡體   English   中英

如何正確地將NSNumber轉換為long long int?

[英]How to cast NSNumber to long long int correctly?

我試圖將NSNumber轉換為long long int但我得到了意想不到的值..我做錯了什么?

NSNumber *number = [[NSNumber alloc] initWithInt:60];
if ([self isTimeOver:number]) {
    [self sendPushTest];
}

-(BOOL)isTimeOver: (NSNumber*) interval {
    long long int theInterval = (long long int)interval;
    NSLog(@"THE INTERVAL %lld",theInterval); // I get -5764607523034233918 here.
}

使用-longLongValue因為long long intlong long是相同的。

long long int theInterval = [interval longLongValue];

你永遠不應該只嘗試將NSNumber轉換為原始類型(這樣做會導致你得到的垃圾編號)。 查看文檔以獲取更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM