【问题标题】:How to set pointer to CGColor object nil / NULL?如何设置指向 CGColor 对象 nil / NULL 的指针?
【发布时间】:2012-09-26 08:29:33
【问题描述】:

我有以下属性:

@property (nonatomic) CGColorRef *strokeColor;

在我的程序中的某个时刻,我将它设置为 nil。然后稍后在我的程序中检查它是否为零:

CGColorRef strokeColor = (*graphicPath.strokeColor != nil) ? CGColorRetain(*graphicPath.strokeColor)  : nil;

我在这条线上的访问权限很差。我也尝试过使用 NULL 并且仍然没有骰子。当其中存储了一些东西并且它不是 nil / NULL 时,它就可以工作。

我怎样才能让它工作?

【问题讨论】:

  • 无论我不明白您要做什么还是您的语法肯定是错误的。为什么在比较中使用间接(*)?记住 CGColorRef 已经是一个引用,你不需要将它用作指针!

标签: iphone objective-c ios cocoa-touch memory-management


【解决方案1】:

从您的 strokeColor 的定义中删除 *(这已经是一个指针,因为它是一个 CGColorRef)以及图形路径,它可能会解决您的问题。

【讨论】:

  • 抱歉,你确实比我快@alex-unstable。
【解决方案2】:

查看我上面的评论:

无论我不明白您要做什么还是您的语法是 肯定错了。为什么在比较中使用间接(*)? 记住 CGColorRef 已经是一个参考,你不需要使用它 作为指针!

如果对你有帮助,请接受这个答案。

【讨论】:

    【解决方案3】:

    不得不改变

    (*graphicPath.strokeColor != nil)
    

    (graphicPath.strokeColor != nil)
    

    (去掉星号)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多