Приложение вылетает в Objective-C - PullRequest
1 голос
/ 12 декабря 2011

Я новичок в Xcode и, похоже, не могу заставить его работать ... в коде нет ошибки при его создании, но при нажатии кнопки, связанной с кодом ниже, все приложение падает

step в настоящее время int.

Не происходит ли сбой Xcode из-за этой строки?if (*step == 1 || *step == 2){

Вот мой код:

-(IBAction)PressOne{
    if (*step == 1 || *step == 2){
        if ([txtAns.text isEqualToString:@"0"])
            txtAns.text = @"1";
        else if (![txtAns.text isEqualToString:@"0"])
            txtAns.text = [@"1" stringByAppendingString:txtAns.text];
    }
    else {
        txtAns.text = @"1";
        *step = 1;
    }
}

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Удалите * перед использованием step, целые числа не являются объектами объективного c.

Вам нужно использовать обозначение указателя (*) только тогда, когда вы объявляете переменные, а не когда вы их используете.

Полученный кодовый блок может выглядеть так:

-(IBAction)PressOne{
    if (step == 1 || step == 2){
        if ([txtAns.text isEqualToString:@"0"])
            txtAns.text = @"1";
        else if (![txtAns.text isEqualToString:@"0"])
            txtAns.text = [@"1" stringByAppendingString:txtAns.text];
    }
    else {
        txtAns.text = @"1";
        step = 1;
    }
}
1 голос
/ 12 декабря 2011

Поскольку step является int, вы должны ссылаться на его значение, используя step, а не * step.

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