2013-09-03 2 views
0

существующий Это мой .h файл:«Нет видимых интерфейс» для метода

@interface test1ViewController : UIViewController{} 

    -(void)function1:(NSString *)param1:(NSString *)param2 ; 
@end 

Вот мой .m файл:

- (void)viewDidLoad{ 
    [super viewDidLoad]; 

    // Do any additional setup after loading the view, typically from a nib. 

    [self function1:@"333" param2:@"sadfas"]; 
} 


-(void)function1:(NSString *)param1:(NSString *)param2 { } 

Эта строка кода дает мне ошибку, заявив: не видно @interface .... заявляет селектор «function1: param2:

[self function1:@"333" param2:@"sadfas" ];

Я попытался немного изменить это, но не смог заставить его работать. Как исправить эту

+1

Это не похоже на правильное определение или объявление метода с несколькими параметрами. (Экстраполируя с Smalltalk, это должно быть что-то вроде '- (void) function1: (NSString *) param1 withParam2: (NSString *) param2;' Я говорю, снова ударил учебники. – millimoose

+0

Эй, @BridgetCay, я заметил, что вы никогда не принимали ответ на любой из ваших вопросов. Если вы найдете для себя ответ, вы должны нажать кнопку проверки под учетной записью пользователя, как показано здесь: http://meta.stackexchange.com/a/5235 Люди будут меньше ответив на ваши вопросы из-за вашего отсутствия следования этому руководству. –

ответ

4

Функция должна быть

- (void)functionWithFirstParam:(NSString *)param1 andSecondParam:(NSString *)param2; 

param1 и param2 являются переменные, которые вы отправляете.

Таким образом, вы будете иметь доступ к переданной строке как таковые:

- (void)functionWithFirstParam:(NSString *)param1 andSecondParam:(NSString *)param2 { 
    NSLog(@"Param1: %@, Param2: %@",param1, param2); 
} 

и вы будете вызывать эту функцию так:

[self functionWithFirstParam:@"Hello" andSecondParam:@"World"]; 
1

Вы ошибка в синтаксисе создания методы

метод создания такой как

-(void)function1:(NSString *)param1 andAlsoWriteParam2:(NSString *)param2; 
Метод

Добавить в вашем .m файлов, таких как

-(void)function1:(NSString *)param1 andAlsoWriteParam2:(NSString *)param2 
{ 
    // your stuff; 
} 

и способ вызова, как

[self function1:@"333" andAlsoWriteParam2:@"ssdaf"] 
+0

@ downVote - объясните причину, почему я получил голос? – iPatel

+0

Может быть, плохой синтаксис кодирования должен быть 'function1: andAlsoWriteParam2:', но я не сделал -1 –

+0

@JohnRiselvato - я написал это как, потому что OP новый в iOS, поэтому лучше понять :) – iPatel

2

Правильный синтаксис:

-(void)function1:(NSString *)param1 andParam2:(NSString *)param2; 

И тогда, когда вы называете это

[self function1:@"333" andParam2:@"sadfas"]; 
0
-(void)function1:(NSString *)param1 secondParam:(NSString *)param2; 
+1

Какое возможное значение добавляет ваш ответ? –

+0

Я только что дал однострочное решение - не писал никаких барахлых операторов, объясняющих неправильный синтаксис и описывающих, как использовать правильный синтаксис :) – thatzprem

+1

Этот парень, очевидно, только что начал программировать цель-с. Он захочет понять, почему его код не соответствует деталям, а также как его исправить ... с подробностями. –

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