【问题标题】:XCode Warning "Expression Result Unused" for mathematical statement数学语句的 XCode 警告“未使用表达式结果”
【发布时间】:2013-12-05 23:11:17
【问题描述】:

我在执行此操作时收到警告

CGFloat viewHeight = ([self.quotaArray count]*kROW_HEIGHT) + kHEADER_HEIGHT + kFOOTER_HEIGHT;

基本上这个数学语句会返回我的表格视图的高度,即

(number of rows * row height) + header height + footer height

我做错了什么?

【问题讨论】:

  • 可以添加kROW_HEIGHT、kHEADER_HEIGHT、kFOOTER_HEIGHT的定义吗?它们只是数字吗?

标签: objective-c xcode


【解决方案1】:

我的猜测:你有类似的东西:

#define kHEADER_HEIGHT 3;

所以,你给出的代码行变成:

CGFloat viewHeight = ([self.quotaArray count]*1) + 3; + 2;

哪个是有效的;最后一部分产生警告。 (+2 是一个有效的表达式,它只会产生值 2,因此会发出警告。)

因此,请从您的定义中删除分号,或者更好的是,在静态 const int 可以使用时停止使用 #define。 (因为如果您只使用 int,就不会出现这样的疯狂错误。)

【讨论】:

  • 太棒了!做到了。我应该如何声明 static const int?我将来会使用它。
  • 所以,我会说#define kHEADER_HEIGHT 3而不是static const int XYZHeaderHeight = 3;
【解决方案2】:

你在后面使用变量吗?该警告告诉您您创建了一个名为 viewHeight 的 CGFloat 并且没有在您的代码中使用它

【讨论】:

  • 是的,我是。该警告仅突出显示声明的最后一部分,因此我认为这不是您所指的。您所指的警告是Unused variable viewHeight
猜你喜欢
  • 2012-09-02
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-31
  • 2011-07-12
相关资源
最近更新 更多