objective-c - for 循环中的表达式结果未使用警告

标签 objective-c cocoa-touch cocoa

我在以下 for 循环中收到“表达式结果未使用”警告。

   NSInteger i = 0;
   for ( i; i < tags.count; i ++) {

   }

似乎我缺少一些关于 for 循环如何工作的基本知识,任何人都可以阐明这个警告的原因吗?

最佳答案

由于您在循环外声明了 i,因此 for 的第一部分中的表达式 i 未被使用:

for ( i /* <<== This one */ ; i < tags.count; i ++) {

}

for 循环的语法允许您删除其三个表达式隔间中任何一个的内容。这应该可以解决问题:

for ( ; i < tags.count; i ++) {

}

事实上,你可以放弃这三个,使循环无限:

for ( ; ; ) {
    ...
    if (some_condition) break;
    ...
}

注意:一般来说,您应该将循环变量声明为循环头的一部分。唯一的异常(exception)是当您需要在循环外使用 i 的最终值时。

关于objective-c - for 循环中的表达式结果未使用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20161422/

相关文章:

objective-c - 在 Objective C 中编写网络服务器——上传较大文件时获取 SIGPIPE 调用

ios - 更改 MapKit 注释标注标题和副标题的字体

iphone - Obj-c,在没有核心数据的情况下,执行许多 SQLite 插入/更新查询的最快方法是什么?

ios - 为什么 iOS 5.0 不喜欢纯窗口应用程序?为什么它要求使用 View Controller ?

objective-c - 在并发队列中使用dispatch_semaphore_t发生死锁

objective-c - 使用 Cocoa/OSX 合并/堆叠两个图像

iphone - 如何在IOS中以编程方式将PDF转换为PNG

ios - 苹果通知可靠性

ios - TableView 上下滚动几次后变慢

iphone - 核心数据 - 在 vi​​ewDidLoad 之前调用数据源方法