我正在尝试更改现有NSString的值。然而,它一直给我一个'预期的表达'错误。
我知道有可能做到这一点,但我不确定如何去做。也许只是我是一个菜鸟......
这是我的代码:
NSString *object = @"";
int randObj = rand() % 2;
switch (randObj) {
case 0:
NSString *object = @"object 1";//error here
break;
case 1:
NSString *object = @"object 2";//and here
break;
default:
break;
代码应该更改object
变量的值,但它只会引发错误。
答案 0 :(得分:3)
一旦你宣布了你的字符串,就使用它。不要再声明(通过NSString *object = ...;
E.g:
NSString *object = @"";
int randObj = rand() % 1;
switch (randObj) {
case 0:
object = @"object 1";
break;
case 1:
object = @"object 2";
break;
default:
break;
我建议阅读Objective-C基础知识,特别是如何使用变量。
答案 1 :(得分:1)
您无法在switch中的case标签内声明变量。你可以很难初始化它们。如果您希望更新外部声明的NSString *对象。只是做
switch (randObj) {
case 0:
object = @"object 1";
break;
case 1:
object = @"object 2";
break;
default:
break;