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

标签 ios objective-c nsstring

在我的 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/

相关文章:

ios - 当应用程序在选项卡栏 Controller 中加载时,特定选项卡栏项目会隐藏吗?

ios - 从不同角度观察时,是什么导致部分 SceneKit 几何体进出 "pop"?

javascript - 这些JS方法对应的Objective-C方法?

ios - 当状态恢复时 hidesBottomBarWhenPushed = YES 时,导航 Controller 不隐藏标签栏

iphone - 如何查找 NSString 中某种格式的出现

ios - 如何关闭自动手势以使用导航 Controller 返回 View ?

objective-c - Objective C 中的 Sqlite 数据库插入语句

iphone - performSelector 在所有实例上进入方法,但只有一个线程完成

ios - NSDate 到 NSString 错误

ios - 将 url 字符串与 NSString stringWithFormat 一起使用的最佳做法是什么