编辑NSString的

时间:2013-11-26 02:27:15

标签: objective-c

我正在尝试更改现有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变量的值,但它只会引发错误。

2 个答案:

答案 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;