永远不会读取在初始化期间存储到NSString的值

Eug*_*din 2 objective-c nsstring ios

在我的iOS应用程序中,我有以下代码:

case SASpeechSubCase03:
{
     SAActivity currentActivity = self.mediator.selectedActivity;

     NSString *sActivity = NSLocalizedString(@"activity", @"activity");
     NSString *sActivity2 = NSLocalizedString(@"another activity", @"another activity");
     if(currentActivity == SAActivityWalk)
     {
        sActivity = NSLocalizedString(@"walk", @"walk");
        sActivity2 = NSLocalizedString(@"walking", @"walking");
     }
     else
     {
        sActivity = NSLocalizedString(@"run", @"run");
        sActivity2 = NSLocalizedString(@"jogging", @"jogging");
     }

     return [NSString stringWithFormat:speech.text, sActivity, sActivity2];

     break;
}
Run Code Online (Sandbox Code Playgroud)

当我在它上面运行机器人时,它给了我以下警告:

机器人问题:analyzerWarning.死店.问题:永远不会读取在初始化期间存储到'sActivity'的值.文件:SAAnnouncementService.m.积分编号:42.说明:永远不会读取在初始化期间存储到'sActivity'的值.

机器人问题:analyzerWarning.死店.问题:永远不会读取在初始化期间存储到'sActivity2'的值.文件:SAAnnouncementService.m.积分编号:42.说明:永远不会读取在初始化期间存储到'sActivity2'的值.

有人能说出问题可能在这里吗?

任何形式的帮助都非常感谢!

Moh*_*san 7

问题是您初始化变量然后直接启动if-else块,而不使用(即读取)初始值.

当执行到达if-else块时,无论它之前是什么值,都肯定会为它分配一个新值.