【问题标题】:objective-c error: no viable overloaded =Objective-c 错误:没有可行的重载 =
【发布时间】:2013-08-20 12:46:53
【问题描述】:

这是 xcode 上的 IOS 代码块在编译时抛出错误。
"语义问题:没有可行的重载="

  ...
  ccColor3B c_=;
  static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
     c_=ccc3(0,0,0);
});
  ...

这只是一个示例。我从另一个从数据库读取值的方法中获取零示例值。 因此我只想调用一次 RGB 值。

我应该使用旧方法吗?还是有使用 dispatch_once 的解决方案

我的旧方法是:

...
static BOOL everCalled=NO;
ccColor3B c_;
if(!everCalled){
  c_=ccc3(0,0,[myClass myClassMethodForExample]);
  everCalled=YES;
}
...

【问题讨论】:

    标签: objective-c compiler-errors cocos2d-iphone dispatch


    【解决方案1】:

    您正在尝试写入块外的数据类型;这是允许的,但您必须使用 __block 关键字:

    __block ccColor3B c_=;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
         c_=ccc3(0,0,0);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-24
      • 2018-03-01
      • 2017-11-10
      • 1970-01-01
      • 2015-05-22
      • 2022-08-18
      • 2018-08-12
      • 2018-08-26
      相关资源
      最近更新 更多