Как инициализировать класс нажатием кнопки интерфейса? [Цель - С] - PullRequest
0 голосов
/ 18 января 2011

У меня проблема с выяснением, как инициализировать класс нажатием кнопки. Код указан ниже строки, с которой у меня возникла проблема, и над ней есть комментарий "HELP NEEDED HERE".

//
//  Controller.m
//  
#import "Controller.h"

@implementation Controller
- (id)init {
    self = [super init];
    if(self){
        numberTotal = 0;
        //HELP NEEDED HERE
        [self btnScore_Clicked:(id)sender];
    }
    return self;}
- (IBAction) btnScore_Clicked:(id)sender {
    numberTotal += 1;
    NSLog(@"Number Total: %d",numberTotal);
}


- (void)dealloc {
    [super dealloc];
}
@end

//
//  Controller.h
//  
#import <UIKit/UIKit.h>

@interface Controller : UIViewController {
    NSInteger numberTotal;
}
- (IBAction) btnScore_Clicked:(id)sender;
@end

Спасибо! * * 1004

1 Ответ

1 голос
/ 18 января 2011

Просто замените

[self btnScore_Clicked:(id)sender];

на

[self btnScore_Clicked:self];

внутри вашей реализации -init, поскольку вы не должны перечислять типы аргументов при отправке сообщения объекту.Кроме того, в этом случае отправителем действия btnScore_Clicked: является сам объект, поэтому параметр sender равен self.

Кроме того,

numberTotal = 0;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...