объявление метода iPhone с двумя параметрами - PullRequest
2 голосов
/ 04 марта 2011

Я довольно новичок в объективе C, и у меня возникают проблемы с объявлением метода, который принимает два параметра. В моем файле .h у меня есть следующее:

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

И в моем файле .m есть следующее:

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

Я хочу, чтобы метод two принимал два параметра, NSTimeInterval и NSDate, но они, как мне кажется, теперь не работают. Кто-нибудь может увидеть мою ошибку? Помощь будет принята с благодарностью.

Ответы [ 3 ]

3 голосов
/ 04 марта 2011

некоторые вещи неверны: во-первых, между параметрами нет запятых, во-вторых, имя параметра (и тип) идут после двоеточия того, что вы делаете.Пример использования вашего кода:

-(void) refreshTime:(NSTimeInterval*)absoluteTimeRemainSeconds usingTargetDate:(NSDate*)targetDate;
1 голос
/ 04 марта 2011

это был бы хороший способ сделать это

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

и:

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

Вам не нужноНазовите параметры, если вы не хотите, но вы должны оставить и пробел, а не двоеточие, между двумя параметрами.

Приветствия

0 голосов
/ 04 марта 2011
-(void)refreshTime:(NSTimeInterval *)absoluteTimeRemainSeconds withDate:(NSDate *)targetDate;

Вот и все.Obj-C использует именованные параметры, просто ставьте пробел после каждого и следуйте тому же синтаксису.двоеточие обозначает начало типа и имени параметра.Вы даже не должны использовать имена на самом деле,

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

, но это облегчает чтение с именами.

...