React Native 0.40.0:指针和零之间的有序比较('NSNumber *'和'int')

时间:2017-12-05 16:52:35

标签: c++ ios objective-c react-native

我有一个仍在0.40.0的React Native项目,当我尝试在XCode for Simulator中构建时:

Ordered comparison between pointer and zero ('NSNumber *' and 'int')

它位于RCTJavaScriptLoader.mm>中的React.xcodeproj文件中React> Base

因为这个错误发生在React Native文件中,所以我不知道它试图告诉我什么。代码块是:

- (NSString *)description
{
  NSMutableString *desc = [NSMutableString new];
  [desc appendString:_status ?: @"Loading"];

  if (_total > 0) { // ERROR HAPPENS HERE
    [desc appendFormat:@" %ld%% (%@/%@)", (long)(100 * [_done integerValue] / [_total integerValue]), _done, _total];
  }
  [desc appendString:@"\u2026"];
  return desc;
}

我试图清理项目,我甚至删除了ios文件夹并使用react-native upgrade重新生成它,并且在我链接所有内容后它没有帮助。

1 个答案:

答案 0 :(得分:5)

问题解释:
if (_total > 0) => if ([_total integerValue] > 0)因为_totalNSNumberRelated question on SO

对于其余部分,React-Native上的问题自1月3日起已commit上修复。 根据提交,它应该在版本> = v0.51.0-rc.3上修复,它仍然固定在the current version上(没有回归)。

然后建议更新您的React版本。