2012-02-07 2 views
1

Я создаю 2 кнопки программно, на мой взгляд. Оба метода выбора существуют, но он все еще бросает ошибки «непризнанного селектора». Я кое-что прочитал о проверке зомби. Но я активировал его (xcode 4.2) и ничего не видел о каких-либо зомби. Вот код ..Селектор UIButton бросает «непризнанный селектор», хотя селектор существует

- (void)viewDidLoad 
{ 

    for(int i = 0; i < [list count]; i++){ 

    ... if statement checks to add text fields 
    } 

    UIButton *submit = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [submit addTarget:self action:@selector(submission:) 
    forControlEvents:UIControlEventTouchUpInside]; 
    [submit setTitle:@"Submit" forState:UIControlStateNormal]; 
    submit.frame = CGRectMake(x+ 170.0, y, 72, 37); 

    UIButton *addition = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [addition addTarget:self action:@selector(addition:) 
    forControlEvents:UIControlEventTouchUpInside]; 
    [addition setTitle:@"Additional Mission" forState:UIControlStateNormal]; 
    addition.frame = CGRectMake(x, y, 140, 37); 

    y = y+90; 
    [inputsView addSubview:submit]; 
    [inputsView addSubview:addition]; 
    [inputsView setScrollEnabled:YES]; 
    [inputsView setContentSize:CGSizeMake(320, y)]; 


} 

- (void)submission{ 
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Submission Complete" message:@"Submission" 
               delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil]; 
[alert show]; 
} 

-(void)addition{ 
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Creating Additional Mission" message:@"Additional Mission" 
               delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil]; 
[alert show]; 
} 

Одно замечание .. inputsView является UIScrollView, который находится внутри моего ViewController.

Заранее спасибо.

ответ

5

удалить двоеточие из методов селекторных

[submit addTarget:self action:@selector(submission) 

[addition addTarget:self action:@selector(addition) 

двоеточие указывает селектор, что этот метод принимает аргументы, ваш не так двоеточие не должно быть частью селектора

+0

Ooooh .. Ничего себе. Это смущает. Благодаря! –

1

[добавление addTarget: само действие: @selector (сложение :)

в этой линии вы говорите, что ваш селектор @selector(addition:) ожидает параметр, который является двоеточие после того , но в реальном методе

-(void)addition{ 

нет параметра после того ..эт поэтому есть crash..remove двоеточия и в представлении и того, и вы будете хорошо идти.

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