iOS错误"初始化'NSTimeInterval*'(又名'double*')

rat*_*p99 5 nstimeinterval ios

我正试图获得两个NSDates之间的时间间隔,即previousActivity.stopTimepreviousActivity.startTime.我在这段代码中收到错误:

NSTimeInterval *previousActivityDuration = [previousActivity.stopTime timeIntervalSinceDate:previousActivity.startTime];
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

"Initializing 'NSTimeInterval *' (aka 'double *') with an expression of incompatible type 'NSTimeInterval' (aka 'double')"

我不明白; 如果NSTimeInterval又名'double',初始化表达式如何不兼容,我该如何解决?

非常感谢!

编辑:

根据@Rmaddy的评论,我删除了星号.然后我立即在以下行中收到此错误:

Assigning to 'NSNumber *' from incompatible type 'NSTimeInterval' (aka 'double')

这是违规行:

previousActivity.duration = previousActivityDuration;
Run Code Online (Sandbox Code Playgroud)

Gav*_*vin 11

你试图创建一个NSTimeInterval指针变量,但你真正想要的只是一个NSTimeInterval变量.所以删除这样的星号:

NSTimeInterval previousActivityDuration = [previousActivity.stopTime timeIntervalSinceDate:previousActivity.startTime];
Run Code Online (Sandbox Code Playgroud)

您的代码抱怨,因为类型不同.通常我们只使用Objective-C对象的指针,并且只在必要时我们通常使用指针来处理原始类型,例如doubles等.