我试图动态更改SWSegueFrontIdentifier的值,因为前视图是动态的。以下是我的代码
if ([prefs boolForKey:@"isDashboardAvailable"])
{
SWSegueFrontIdentifier = @"sw_front";
} else {
SWSegueFrontIdentifier = @"sw_second_front";
}
但是我得到以下错误
无法分配给变量'SWSegueFrontIdentifier' const限定类型'NSString * const __strong'
为什么我收到此错误?我怎样才能更改SWSegueFrontIdentifier值?
答案 0 :(得分:1)
你自己的问题给你答案。您正在尝试更改constant
的值,这是不可能的,您无法更改常量的值。如果你想改变SWSegueFrontIdentifier
的值,声明就像这样的变量不是常数
NSString *SWSegueFrontIdentifier = @"";
if ([prefs boolForKey:@"isDashboardAvailable"])
{
SWSegueFrontIdentifier = @"sw_front";
}
else {
SWSegueFrontIdentifier = @"sw_second_front";
}
答案 1 :(得分:1)
因为您希望它是动态前视图控制器,请尝试以下操作..
创建另一个const变量,如下所示
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];
}
如果您有任何困难,请退回。