1

我有以下代码:

NSNumber *rowValue = [movieDescription objectAtIndex:film];
NSLog(@"ROWVALUE %@",rowValue);


NSUInteger converted = rowValue;
NSLog(@"UNIX %@",converted);


NSDate *date = [NSDate dateWithTimeIntervalSince1970:converted];
NSLog(@"TODAYS DATE %@",date);

这是输出到调试器控制台:

2011-03-24 14:55:37.330 ViRe[27540:307] ROWVALUE 1300906517
2011-03-24 14:55:37.332 ViRe[27540:307] UNIX 1300906517
2011-03-24 14:55:37.338 ViRe[27540:307] TODAYS DATE 1970-01-29 00:12:00 +0000

显然这是错误的,但我看不出如何/为什么?

有什么建议吗?谢谢

4

1 回答 1

2

要将 NSNumber 转换为 NSUInteger,请使用 NSNumber 的 unsignedIntegerValue 方法;要记录 NSUInteger,请使用 %u 而不是 %@(请参阅String Format Specifiers):

NSUInteger converted = [rowValue unsignedIntegerValue];
NSLog(@"UNIX %u",converted);
于 2011-03-24T15:13:00.633 回答