iPhone方法声明有两个参数

时间:2011-03-04 20:21:22

标签: iphone objective-c function methods parameters

我对目标C相当新,我无法声明一个带有两个参数的方法。在我的.h文件中,我有以下内容:

-(void)refreshTime:(NSTimeInterval *) absoluteTimeRemainSeconds, (NSDate *) targetDate;

在我的.m文件中,我有以下内容:

-(void) refreshTime:(NSTimeInterval *) absoluteTimeRemainInSeconds, (NSDate *) targetDate {

我希望方法二接受两个参数,一个是NSTimeInterval和一个NSDate,但是我现在的方式是它不能正常工作。谁能看到我的错误?非常感谢帮助。

3 个答案:

答案 0 :(得分:3)

有些事情是错误的:首先,参数之间没有逗号,第二个参数名称(和类型)在你正在做的冒号之后。使用代码的示例:

-(void) refreshTime:(NSTimeInterval*)absoluteTimeRemainSeconds usingTargetDate:(NSDate*)targetDate;

答案 1 :(得分:1)

这将是这样做的好方法

-(void)refreshTime:(NSTimeInterval *) absoluteTimeRemainSeconds targetDate:(NSDate *) targetDate;

-(void)refreshTime:(NSTimeInterval *) absoluteTimeRemainSeconds targetDate:(NSDate *) targetDate{}

如果你不想要,你不需要命名参数,但你必须在两个参数之间留空间而不是冒号。

干杯

答案 2 :(得分:0)

-(void)refreshTime:(NSTimeInterval *)absoluteTimeRemainSeconds withDate:(NSDate *)targetDate;

就是这样。 Obj-C使用命名参数,只需在每个参数之后放置一个空格并遵循相同的语法。冒号表示参数类型和名称的开头。你甚至不必实际使用名字,

-(void)refreshTime:(NSTimeInterval *)absoluteTimeRemainSeconds :(NSDate *)targetDate;

但它更容易用名字阅读。