2016-07-08 2 views
1

Im пытается динамически изменять значение SWSegueFrontIdentifier следующим образом, поскольку передние представления являются динамическими. Ниже мой кодне может назначить переменной с const-qual type

if ([prefs boolForKey:@"isDashboardAvailable"]) 
{ 
    SWSegueFrontIdentifier = @"sw_front";   
} else { 
    SWSegueFrontIdentifier = @"sw_second_front"; 
} 

но им получить следующее сообщение об ошибке

Невозможно присвоить значение переменной 'SWSegueFrontIdentifier' с Const высококвалифицированного типа 'NSString * сопзЬ __strong'

почему я Я получаю эту ошибку? Как я могу изменить значение SWSegueFrontIdentifier?

+1

Почему вы не используете эту логику в методе loadStoryBoardControllers? –

ответ

1

, так как вы хотите, чтобы он динамический контроллер вида спереди, попробуйте следующее ..

создать еще один константные переменный следующий образом

NSString * const SWSegueSecondFrontIdentifier = @"sw_second_front";

затем реализовать следующий код в методе loadStoryboardControllers

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    if ([prefs boolForKey:@"isDashboardAvailable"]) 
    { 
     [self performSegueWithIdentifier:SWSegueSecondFrontIdentifier sender:nil]; 
    } else { 
     [self performSegueWithIdentifier:SWSegueFrontIdentifier sender:nil]; 
    } 

вернитесь назад, если у вас возникнут трудности.

1

Ваш вопрос он сам даст вам ответ. Вы пытаетесь изменить значение constant, это невозможно, вы не можете изменить значение констант. Если вы хотите изменить значение SWSegueFrontIdentifier заявляют как переменные не постоянно, как этот

NSString *SWSegueFrontIdentifier = @""; 
if ([prefs boolForKey:@"isDashboardAvailable"]) 
{ 
    SWSegueFrontIdentifier = @"sw_front"; 
} 
else { 
    SWSegueFrontIdentifier = @"sw_second_front"; 
} 
Смежные вопросы