2012-06-30 2 views
1

можно ли отправить два параметра при вызове метода делегата? У меня есть делегат, который я пытаюсь настроить для возврата двух измененных дат назад к моему родителю, но я получаю синтаксическую ошибку для второго параметра. Является ли мой синтаксис неправильным или это невозможно?Цель C: Синтаксис протокола и делегата

@protocol PeriodsChangedDelegate <NSObject> 
@optional 

-(void) periodsChanged: (NSDate *) newTimeStart, (NSDate *) newTimeFinished; 

@end 

ответ

3

Вместо

-(void) periodsChanged: (NSDate *) newTimeStart, (NSDate *) newTimeFinished; 

написать

-(void) periodsChanged: (NSDate *) newTimeStart timeFinished:(NSDate *)newTimeFinished; 

Вы не передать два параметра с помощью , вы разделите их :

+0

Спасибо .. это то, что бросает меня немного с ObjC - мне также нужно указать имена параметров .. так что потенциально это означает, что делегат может вызываться с параметрами в любом порядке, если имена параметров указаны при вызове? – SparkyNZ

+0

Методы Objective-C почти никогда не включают «и» между параметрами. 'periodChanged: timeFinished:' будет более идиоматичным, хотя, вероятно, есть и лучшее имя для первого параметра. –

+0

@ JustinSpahr-Summers да, вы правы, хотя имя - это имя не более и не меньше, вы можете добавить его, и вы не смогли бы, это действительно зависит от вашего личного стиля. –

Смежные вопросы