2016-07-08 3 views
1

전면 뷰가 동적이기 때문에 다음과 같이 SWSegueFrontIdentifier의 값을 동적으로 변경하려고합니다. 내 코드const 한정 유형의 변수에 할당 할 수 없습니다.

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

되어 다음하지만 메신저는 다음과 같은 오류

을 받고

이 변수에 할당 할 수 없습니다 'SWSegueFrontIdentifier' const를 수식 형 '는 NSString * const를 __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 선언의 값은

다른 CONST 변수를 만들 .. 변수로이

NSString *SWSegueFrontIdentifier = @""; 
if ([prefs boolForKey:@"isDashboardAvailable"]) 
{ 
    SWSegueFrontIdentifier = @"sw_front"; 
} 
else { 
    SWSegueFrontIdentifier = @"sw_second_front"; 
} 
관련 문제