在我的 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;
}
当我在上面运行机器人时,它给了我以下警告:
Bot Issue: analyzerWarning. Dead store. Issue: Value stored to 'sActivity' during its initialization is never read. File: SAAnnouncementService.m. Integration Number: 42. Description: Value stored to 'sActivity' during its initialization is never read.
Bot Issue: analyzerWarning. Dead store. Issue: Value stored to 'sActivity2' during its initialization is never read. File: SAAnnouncementService.m. Integration Number: 42. Description: Value stored to 'sActivity2' during its initialization is never read.
谁能告诉我这里可能有什么问题?
非常感谢任何形式的帮助!
最佳答案
问题是您初始化变量然后直接启动 if-else block ,而没有使用(即读取)初始值。
当执行到 if-else block 时,它肯定会被分配一个新值,不管它之前是什么值。
关于ios - 在初始化期间存储到 NSString 的值永远不会被读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634516/