存储到' currentRange'的值在它的初始化期间从未读过?

时间:2014-12-12 23:52:36

标签: ios objective-c xcode nsrange

在分析我的项目后,我似乎收到了以下警告:

  

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

用于viewDidLoad中的以下行:

if (self.wordToAdd && self.wordToAdd != (id)[NSNull null] && self.wordToAdd.length != 0 ) {
    NSRange currentWordRange = NSMakeRange(0, 0);
            currentWordRange = [checker rangeOfMisspelledWordInString:self.wordToAdd range:NSMakeRange(0, self.wordToAdd.length) startingAt:0 wrap:NO language:@"en_US"];
}

是不是我没有正确创建我的NSRange?

1 个答案:

答案 0 :(得分:1)

不,这不是那样的。在使用之前,您无需在范围上调用NSMakeRange。它是标量类型,而不是对象。

您正在使用0,0初始化范围,稍后将其替换为新值,然后在代码离开if语句的大括号后立即忘记范围值。

您的代码不会失败或任何内容,但会忽略currentWordRange的值。这就像写一封信,然后扔掉它而不发邮件。无害的浪费时间。