2014-12-12 62 views
0

分析我的项目后,我似乎得到以下警告:在初始化期间存储到'currentRange'的值永远不会被读取?

值初始化过程中存储为“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?

+0

您的第一行没用,因为您只是在下一行重新定义currentWordRange,但错误是说您在创建它之后从未使用currentWordRange。 – rdelmar 2014-12-12 23:59:25

回答

1

不,这没什么。在使用它之前,您不需要在一个范围内调用NSMakeRange。这是一个标量类型,而不是一个对象。

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

您的代码不会失败或任何内容,但currentWordRange的值将被忽略。这就像写了一封信,然后扔掉了,而没有邮寄。无暇的浪费时间。

+0

完美的解释!哎呦!谢谢你! – KingPolygon 2014-12-13 00:23:09